2016-05-20 2 views
0

У меня есть 2 классов:Django, как добавить экземпляр обращенно ForeignKey

class Contact(models.Model): 
    name = model.CharField(max_length=255) 

class PhoneNumber(models.Model): 
    phone = models.CharField(max_length=25) 
    contact = models.ForeignKey(Contact, related_name="phone_numbers", null=True, blank=True) 

Когда я хотел бы получить номер телефона для контакта, я просто не могу это сделать:

contact = Contact.objects.all()[0] 
contact_phones = contact.phone_numbers.all() 

Нет потеть здесь. Теперь я хотел бы знать, как правильно установить новый номер телефона для контакта.

Я пытался сделать это:

foo = Contact.objects.create(name="Foo") 
contact_phone = PhoneNumber.objects.create(phone="123456789", contact=foo) 

Это делает сохранить контакт и номер телефона, но я просто хотел бы быть в состоянии создать метод внутри Контактной класса как add_phone() или что-то в этом роде ,

Как бы я мог это сделать?

ответ

3

Вы можете использовать метод create обратного управляющего.

foo.phone_numbers.create(phone='123456789') 
Смежные вопросы