0
소유자 모델 manytomany 필드가있는 하우스 모델에 대한 modelformset이 있으므로 소유자 필드를 제외하고 싶습니다. 소유자로 현재 로그인 한 사용자 ID - 은 숨겨진 필드로이를 해킹 할 수 있지만 제대로 완료되었는지 알 수 있습니다.Django : Model FormSet의 IntegrityError - 필요한 M2M 필드 제외
명확성을 위해, 무결성 오류 OWNER_ID, 그냥 manage_houses
views.py
def manage_houses(request):
HousesFormSet = modelformset_factory(House, form=ManageHousesForm)
if request.method == 'POST':
formset = HousesFormSet(request.POST)
# failed attempt at fixing integrity error
for form in formset:
form.owner_id = 1
if formset.is_valid():
if formset.save():
notice = "Success! Your houses were updated in the system."
notice_type = "success"
elif not formset.has_changed():
pass
else:
notice = "Something went wrong! Your houses may not have been updated."
notice_type = "error"
else:
formset = SpecialsFormSet()
response_details = { 'formset': formset,
'fields': ManageHousesForm.base_fields }
try:
response_details['notice'] = notice
response_details['notice_type'] = notice_type
except NameError:
pass
return render_to_response('houses/manage.djhtml', response_details)
의 시작 실패를 참조하기 위해 하드 코딩하여 해결하려고 시도한 null이 될 수 없다는 것입니다 장고 Documentat에 따르면 models.py
class House(models.Model):
class Meta:
app_label = 'houses'
# Fields
owners = models.ManyToManyField(User)
name = models.CharField(max_length=50)
slug = models.SlugField(max_length=100, blank=True, editable=False, unique=True)
address = models.CharField(max_length=75)
def __unicode__(self):
return self.name
모델 코드를 첨부 할 수 있습니까? –
Editted : 부착 됨. –