我有一个这样的模型:
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
我已经使用此模型创建了一个表单,我想保存它。这里我希望“engineer”字段作为主键在url中传递..就像
engineer = Engineer.objects.get(pk=pk)
我该怎么做。或者我应该创建一个普通表单并通过 get 方法获取其值并分配给该字段??
最佳答案
由于这是一个 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)
关于Django createview 使用主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797979/