2014-10-24 2 views
0

У меня есть 2 модели: компания и контакт. Отношение одно к многим. Я хочу создать форму в том виде, в котором вначале выбрана «компания», заполненная всеми данными из базы данных, а контакт «контакт» пуст. Каждый раз, когда selectbox «компания» выбирает новую компанию, selectbox «contact» полностью заполняется контактами текущей компании. Я использую django 1.4.Поиск между 2 связанными моделями в форме django

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 

Заранее благодарен!

+2

Ну, вы можете сделать это с помощью Ajax. Каков твой вопрос? –

ответ

1

Как сказал @Daniel, вашим лучшим решением является Ajax, каждый раз, когда пользователь выбирает компанию, вы получаете значение выбора, делаете запрос ajax и вставляете данные на форум. Вы должны использовать JS!

Смежные вопросы