以django形式查找2个相关模型

时间:2014-10-24 08:05:47

标签: python django lookup

我有2个型号:公司和联系方式。关系是一对多的。我想以一种方式创建一个表单,在开始时,selectbox“company”已满载来自数据库和selectbox“contact”的所有数据为空。每当选择框“公司”选择新公司时,选择框“联系人”将自动填充当前公司的联系人。我正在使用django 1.4。

class Company(models.Model):
    company_type = models.ForeignKey('CompanyType', on_delete=models.PROTECT) 
    name = models.CharField(max_length=50, default='')
    description = models.CharField(max_length=100, default='', blank=True, null=True)
    city = models.CharField(max_length=30, default='', blank=True)
    telephone = models.CharField(max_length=20, default='', blank=True)
    address = models.CharField(max_length=50, default='', blank=True)
    postcode = models.CharField(max_length=10, default='', blank=True)

class Contact(models.Model):
    company = models.ForeignKey('Company')
    name = models.CharField(max_length=50, default='')
    letterhead = models.CharField(max_length=50, default='',blank=True)
    department = models.CharField(max_length=50, default='',blank=True)
    telephone = models.CharField(max_length=20, default='',blank=True)
    mobile_phone = models.CharField(max_length=20, default='',blank=True)
    job = models.CharField(max_length=30, default='',blank=True)
    email = models.CharField(max_length=50, default='',blank=True, validators=[validate_email])
    fax = models.CharField(max_length=20, default='',blank=True)
    active = models.BooleanField()  

    def __unicode__(self):
        return self.name

提前致谢!!!

1 个答案:

答案 0 :(得分:1)

正如@Daniel所说,您最好的解决方案是Ajax,每次用户选择公司时,您都会获得选择值,发出ajax请求并在论坛中插入数据。你必须使用JS!