그래서 저는 두 개의 관련 객체 인 GeneralUser와 해당 비즈니스를 생성하기 위해 서브 클래 싱하는 djang 등록 양식을로드하고 있습니다. 아래 코드는 경고와 함께 실패합니다. 저장하지 않은 관련 개체 'owner'로 인한 데이터 손실을 방지하기 위해 save()가 금지되었습니다. 경고 :Django : 커밋하기 전에 객체 연관
save
그리고 나는 또한의 정맥에서 경고를 가지고있다 'NoneType'개체가 " 'is_active'에는 속성이 없습니다"NoneType 개체가 어떤 속성 소유자가없는 "과 같이 비즈니스를 만들려고 할 때 business = Business(name=self.cleaned_data['business_name'], owner=user)
I을 나는 동시에 그것을하지 않는 한 사용자 나 비즈니스 중 하나가 db에 커밋하지 않는 방법을 찾고 있습니다. 내가 할 참고하시기 바랍니다 form.isvalid()
같은 모든 종류의 확인하려면이 양식에 대한보기가 django - 모든보기를 돌보고 있습니다.
class GeneralUserForm(UserCreationForm):
business_name = forms.CharField(required=True)
class Meta:
model = GeneralUser
fields = ['username', 'email', 'password1',
'password2', 'business_name']
def save(self, commit=True):
user = super(GeneralUserForm, self).save(commit=False)
user.set_password(self.cleaned_data["password1"])
business = Business.objects.create(name=self.cleaned_data['business_name'], owner=user)
if commit:
user.is_active = True # TODO: remove before deployment.
user.save()
business.save()
return user
GeneralUser
을 Business
으로 연결하고 DB에 커밋하는 방법은 무엇입니까?
확인하시기 바랍니다. – pramod
@pramod 그러나 DB에 생성 될 때까지 사용자는 'id'속성을 가지고 있지 않습니까? – zerohedge