Django使用主键创建视图
Posted
技术标签:
【中文标题】Django使用主键创建视图【英文标题】:Django createview using primary key 【发布时间】:2015-01-04 01:15:01 【问题描述】:我有一个这样的模型:
class Appointment(models.Model):
user = models.ForeignKey(User)
engineer = models.ForeignKey(Engineer)
first_name = models.CharField(max_length=100)
middle_name = models.CharField(max_length=100, blank=True)
last_name = models.CharField(max_length=100)
age = models.IntegerField()
def __unicode__(self):
return self.first_name
我已经使用这个模型创建了一个表单,我想保存它。在这里,我希望“工程师”字段作为主键在 url 中传递.. 像
engineer = Engineer.objects.get(pk=pk)
我该怎么做。或者我应该创建一个普通表单并通过 get 方法获取其值并分配给该字段??
【问题讨论】:
你有Engineer
型号吗?
【参考方案1】:
由于这是一个 CreateView,您应该在示例 in the documentation 的基础上进行构建,并将其添加到 form_valid
:
def form_valid(self, form):
form.instance.engineer = Engineer.objects.get(pk=self.kwargs['pk'])
return super(AppointmentCreate, self).form_valid(form)
【讨论】:
但它显示 TypeError : 'int' object is not iterable @DanielRoseman。以上是关于Django使用主键创建视图的主要内容,如果未能解决你的问题,请参考以下文章