我想在創建用戶時創建帶視圖的模型,但我得到了一個錯誤:無法分配“<user:test1234”:"Customer_info.customer"必須是“Customer”實例。
下面是我擁有的模型,我希望在用戶注冊時自動創建這些模型。
class Customer(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
points = models.FloatField(default = 0.0)
...
class Customer_info(models.Model):
customer = models.OneToOneField(Customer, on_delete=models.CASCADE)
deposit = models.FloatField(default = 0.0)
在views.py中注冊這些模型后
def reg(request):
form = CreateUserForm()
if "register-btn" in request.POST:
form = CreateUserForm(request.POST)
if form.is_valid():
new_user = form.save()
login(request, new_user)
Customer.objects.create(
user=new_user, points=0.0
)
Customer_info.objects.create(
customer = new_user, deposit = 0.0
# HERE IS THE PROBLEM, IN THE customer field
)
response = redirect('profile')
return response
return render(request, 'main.html')
作為錯誤統計信息,您將
User
實例分配給customer
字段,該字段與Customer
有外鍵關系你的邏輯應該是這樣的: