我试图从表单上的父表填充dbkey列,其中输入外部表值。 在提供一个值时,我得到以下错误-“csg\u chu servers.DBParentCustomerKey”必须是“csg\u chu customer”实例。 有人能帮我吗
model.py
class csg_ch_customer(models.Model):
DBKey=models.AutoField(primary_key=True)
CustomerName=models.CharField(max_length=100,unique=True)
class Meta:
db_table="csg_ch_customer"
def __unicode__(self):
return self.DBKey
def __init__(self):
return self.DBKey
class csg_ch_servers(models.Model):
DBKey=models.AutoField(primary_key=True)
DBParentCustomerKey=models.ForeignKey(csg_ch_customer,on_delete=models.CASCADE)
class Meta:
db_table="csg_ch_servers"
def __str__(self):
return self.DBParentCustomerKey
def __unicode__(self):
return self.DBParentCustomerKey
form.py
class csg_ch_customer_form(forms.ModelForm):
class Meta:
model = models.csg_ch_customer
fields = "__all__"
class csg_ch_servers_form(forms.ModelForm):
class Meta:
model = models.csg_ch_servers
fields = "__all__"
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['DBParentCustomerKey'].queryset = models.csg_ch_customer.objects.values_list('DBKey', flat=True)
views.py
def register_ser(request):
form=Aforms.csg_ch_servers_form()
if request.method == "POST":
form=Aforms.csg_ch_servers_form(request.POST)
if form.is_valid():
form.save()
return redirect('Admin/NewServer.html')
else:
return render(request,'Admin/NewServer.html',{'form':form})
return render(request,'Admin/NewServer.html',{'form':form})
表单需要在视图中实例化模型。 我在您的视图中添加了几个字段,但您需要出于自己的目的对其进行编辑
这应该尽可能简单
相关问题 更多 >
编程相关推荐