【问题标题】:Django createview using primary keyDjango使用主键创建视图
【发布时间】: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 型号吗?

标签: django forms views


【解决方案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。
猜你喜欢
  • 2012-02-27
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 2017-05-22
  • 2011-03-18
  • 2018-08-24
  • 2013-07-19
相关资源
最近更新 更多