Django createview 使用主键

标签 django forms view

我有一个这样的模型:

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/

相关文章:

jquery - 在页面加载后,您如何不关注表单中的任何输入文本字段?

Django:如何为models.TextField() 设置最小长度?

Django ManyToMany 与选项

PHP 表单成功发布到 MySQL 数据库,但添加了空白行

c# - POST 表单数组没有成功

python - 重写 Flask add_url_rule 以路由特定 URL

javascript - Angularjs 在选择标签中始终为空白元素

objective-c - View 转换

无法在 Django 中检索 JavaScript cookie 值

django - 什么时候适合使用 Django 上下文处理器?