초기 데이터 (CreateView)를 만든 다음 추가 데이터 (UpdateView)를 계속 업데이트하지만 새 데이터를 업데이트하는 동안 다음과 같은 대답을 얻습니다. url.pyDjango CBV Update ValueError 할당 할 수 없음 없음
urlpatterns = patterns('',
url(r'^lista/$', views.AlumniList.as_view(), name='alumni-lista'),
url(r'^lista/(?P<page>\d+)$', views.AlumniRedirectMostrar.as_view(), name='alumni-redirect-mostrar'),
url(r'^mostrar/(?P<pk>\d+)$', views.AlumniRetrieve.as_view(), name='alumni-mostrar'),
url(r'^mostrar/padres/(?P<pk>\d+)$', views.AlumniRetrievePadres.as_view(), name='alumni-mostrar-padres'),
url(r'^mostrar/autorizado/(?P<pk>\d+)$', views.AlumniRetrieveAutorizado.as_view(), name='alumni-mostrar-autorizado'),
url(r'^mostrar/finanzas/(?P<pk>\d+)$', views.AlumniRetrieveFinanzas.as_view(), name='alumni-mostrar-finanzas'),
url(r'^mostrar/documentos/(?P<pk>\d+)$', views.AlumniRetrieveDocumentos.as_view(), name='alumni-mostrar-documentos'),
url(r'^inscripcion/$', views.AlumniRegister.as_view(), name='alumni-inscripcion'),
url(r'^inscripcion/padres/(?P<pk>\d+)$', views.AlumniRegisterPadres.as_view(), name='alumni-inscripcion-padres'),
url(r'^inscripcion/autorizado/(?P<pk>\d+)$', views.AlumniRegisterAutorizado.as_view(), name='alumni-inscripcion-autorizado'),
url(r'^inscripcion/finanzas/(?P<pk>\d+)$', views.AlumniRegisterFinanzas.as_view(), name='alumni-inscripcion-finanzas'),
url(r'^inscripcion/documentos/(?P<pk>\d+)$', views.AlumniRegisterDocumentos.as_view(), name='alumni-inscripcion-documentos'),
url(r'^preinscripcion/$', views.AlumniPreinscripcion.as_view(), name='alumni-preinscripcion'),
url(r'^preinscripcion/padres/(?P<pk>\d+)$', views.AlumniPreinscripcionPadres.as_view(), name='alumni-preinscripcion-padres'),
url(r'^preinscripcion/autorizados/(?P<pk>\d+)$', views.AlumniPreinscripcionAutorizados.as_view(), name='alumni-preinscripcion-autorizados'),
url(r'^preinscripcion/finanzas/(?P<pk>\d+)$', views.AlumniPreinscripcionFinanzas.as_view(), name='alumni-preinscripcion-finanzas'),
views.py
class AlumniPreinscripcion(LoginRequiredMixin, CreateView):
model = models.Alumni
form_class = forms.AlumniFormPreinscripcion
context_object_name = 'alumno'
template_name = 'alumni_preinscripcion.html'
def get_initial(self):
initial = super(AlumniPreinscripcion, self).get_initial()
initial['cycle'] = models.ScholarCycle.objects.get(cycle__exact='2014-2015')
return initial
def get_success_url(self, **kwargs):
return reverse('alumni-preinscripcion-padres', kwargs={'pk':self.object.id})
class AlumniPreinscripcionPadres(LoginRequiredMixin, UpdateView):
model = models.Alumni
form_clas = forms.AlumniFormPreinscripcionPadres
context_object_name = 'alumno'
template_name = 'alumni_preinscripcion_padres.html'
def get_sucess_url(self, **kwargs):
return reverse('alumni-preinscripcion-autorizados', kwargs='pk':self.object.id})
alumni_preinscripcion_padres.html을
ValueError at /preinscripcion/padres/63
Cannot assign None: "Alumni.cycle" does not allow null values.
Request Method: POST
Request URL: http://decroly.administracionescolarmexico.com/preinscripcion/padres/63
Django Version: 1.5
Exception Type: ValueError
Exception Value:
Cannot assign None: "Alumni.cycle" does not allow null values.
Exception Location: /home/fbenavides/webapps/django/lib/python2.7/django/db/models/fields/related.py in __set__, line 401
Python Executable: /usr/local/bin/python
Python Version: 2.7.5
Model.py
# -*- coding: utf-8 -*-
# Create your models here
from django.db import models
from django.forms import ModelForm
from django.conf import settings
from django.core.files.storage import FileSystemStorage
import os.path
import datetime
# Create your models here
class ScholarCycle(models.Model):
"""
ScholarCycle
Yearly School Cycle (e.g. 2012-2013)
"""
cycle = models.CharField(blank=False, max_length=9, verbose_name=u'Ciclo Escolar')
def __unicode__(self):
return u'%s' % self.cycle
class Meta:
db_table = u'Ciclo Escolar'
ordering = ['id', 'cycle']
verbose_name = u'Ciclo Escolar'
verbose_name_plural = u'Ciclos Escolares'
class Admin:
pass
fs_photos = FileSystemStorage(location='/media/user/photos')
fs_docs = FileSystemStorage(location='/media/user/docs')
class Alumni(models.Model):
"""
"""
cycle = models.ForeignKey(ScholarCycle, unique=False, null=False, blank=True, verbose_name=u'Ciclo Escolar')
: 나는 코드의 relvelant 부품을 부착하고
{% extends "preinscripcion.html" %}
{% load i18n %}
{% load l10n %}
{% block content %}
<h2>Padres</h2>
<form action="" method="post" enctype="multipart/form-data" accept-charset="utf-8">
{% csrf_token %}
<fieldset>
<legend><strong> Papá </strong></legend>
<div class="row-fluid">
<div class="span2">
<p>Nombre:</p>
</div>
<div class="span10">
<p>{{ form.father_name }} {{ form.father_familynames }}</p>
</div>
</div>
<br />
<p><input type="submit" value="Persona(s) Autorizada(s) →" /></p>
</form>
{% endblock %}
감사합니다. JCotton !!! :) 나는 동창생과 ScholarCycle 모두를 도적질하고 당신이 지적한 것을 보았습니다. 나는 모두 null = True와 blank = True와 일치했다. 이제 오류가 발생하지 않지만 저장할 수 없으며 동일한 업데이트 페이지로 돌아갑니다. 로그에는 어떤 종류의 오류도 표시되지 않습니다. – Francisco
@ francisco 내 업데이트 된 답변을 보았습니까? 이 문제를 해결 했습니까? – JCotton
JCotton에게 오타를 해결해 주셔서 감사합니다. – Francisco