2014-09-22 4 views
0

Я прочитал много форм. Я хочу редактировать информацию о пользователе, но информация о пользователе существует из двух моделей.Создать редактируемый шаблон с несколькими моделями в одной форме

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 

Теперь я хочу поле "контакт" для редактирования. Его следует контролировать, если контакт существует, если нет, то создайте новый. Если есть существующий, обновите это.

Моя проблема в том, что я должен использовать две формы, и я не знаю, как именно.

+0

Вы можете прочитать о modelforms на сайте Джанго https://docs.djangoproject.com/en /dev/topics/forms/modelforms/#module-django.forms.models –

ответ

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 
Смежные вопросы