我刚开始在Django开发,我有一个与ZipCode模型有关系的模型客户。所以从模型客户那里,我想得到zipcode模型中的zipcode。这样,zipcode模型有4个属性,如pk(aut_增量)、zipcode(唯一)、city(城市)和state(州)。因此,我的问题是:如何在客户模型中获取作为外键的zipcode属性,以及如何编写保存客户对象的视图?以下是客户和邮政编码模型:
class Customers(models.Model):
customerID = models.CharField(max_length=15, unique=True)
firstName = models.CharField(max_length=20)
lastName = models.CharField(max_length=25)
phoneNumber = models.CharField(max_length=14)
zipCode = models.ForeignKey(ZipCode, on_delete=models.CASCADE)
address = models.TextField()
class ZipCode(models.Model):
zipCode = models.CharField(max_length=10, unique=True)
city = models.CharField(max_length=30)
state = models.CharField(max_length=25)
def __str__(self):
return self.zipCode + ' ' + self.city + ' ' + self.state
这里的视图还添加了不起作用的客户:
def add_Custmers(request):
# try:
# zipCode=ZipCode.objects.get(slug=zipcode_slug)
# except ZipCode.DoesNotExist:
# zipCode=None
form=CustomersForm(request.POST or None)
if form.is_valid():
form.save()
context = {'form': form}
return render(request, 'customers.html', context
我附上了“添加客户”表以了解更多详细信息
class CustomersForm(forms.ModelForm):
customerID = forms.CharField(max_length=15)
firstName = forms.CharField(max_length=20)
lastName = forms.CharField(max_length=25)
phoneNumber = forms.CharField(max_length=14)
zipCode = forms.ModelChoiceField(queryset=ZipCode.objects.all())
address = forms.Textarea()
class Meta:
model=Customers
fields=('customerID','firstName','lastName','phoneNumber', 'zipCode', 'address',)
上面是我定义的形式