在一个表单中创建包含多个模型的可编辑模板

时间:2014-09-22 14:40:59

标签: python django forms views models

我读了很多表格。 我想编辑用户信息,但用户信息由两个模型组成。

One model this:

class Tc(LoginUser):
    link = models.CharField(max_length=100)
    name = models.CharField(max_length=50, unique=True)
    contact = models.OneToOneField(Contact, blank=True, null=True)
    def __str__(self):
        return self.name

第二个:

class Contact(models.Model):
    contact_id = models.AutoField(primary_key=True)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    def __str__(self):
        return self.email

现在我想编辑“联系”字段。 它应该被控制,如果有联系人,如果没有,所以创建一个新的。如果存在,则更新此。

我的问题是,我必须使用两种形式,而且我不知道究竟是怎么回事。

1 个答案:

答案 0 :(得分:0)

您需要进行查询:对于处理联系人并了解您需要的联系人Making queries 。如果你有一个unique联系对象(例如check_name),可以通过以下方式检查现有内容:

from models import Contact

contats=contact.objects.all()
for n in contacts:
   if n.first_name == check_name()
   #do something
   else:
   #do something