1
我不知道如何比較模型是否與django中的模型相同。 非常感謝你如何比較模型中的變化與模型(django)
models.py
class Person(models.Model):
name = models.CharField(max_length=45)
lastname = models.CharField(max_length=45)
dni = models.BigIntegerField()
email = models.EmailField(max_length=30)
status = models.BooleanField()
departament = models.ForeignKey(Departament) #char
forms.py
class Form_Person(forms.ModelForm):
class Meta:
model = models.Person
fields = ['name', 'lastname', 'dni', 'address', 'phone', 'email', 'position', 'status', 'departament']
views.py
@auth.decorators.login_required(login_url='login')
def persons_person(request,id='id'):
page_name = 'Persons'
try:
person = models.Person.objects.get(id=id)
list_departaments = models.Departament.objects.all()
list_departaments = list_departament.exclude(name = person.departament)
if request.method == 'POST':
form_person = forms.Form_Person(request.POST, initial='person')
這裏的比較將實施
### code to compare ###
# if form_persona.is_valid() and form_person.has_changed(): #Something like that
# ***how to compare***
# form_person.save()
except models.Person.DoesNotExist as e:
person = None
list_departaments = None
return render(request, 'app/persons/person.html',
{'page_name':page_name,
'person':person,
'list_departaments':list_departaments})
1.不要使用字符串作爲id的默認值,最好是使用None。 –
'initial ='person''也是錯誤的,用戶'初始=人'傳遞具有該ID的人。 –
[Django:保存時,如何檢查字段是否已更改?]的可能重複(http://stackoverflow.com/questions/1355150/django-when-saving-how-can-you-check-if-一個場-具有改變的) –