Я играл в учебнике Django и пытаюсь получить поле экземпляра модели, связанного (через внешний ключ) с другим экземпляром модели. Вот что я имею в виду:Django: запрос полей экземпляров модели «один к одному»
Модель файла:
from django.db import models
class Usercar(models.Model):
make = models.CharField(max_length=200)
model = models.CharField(max_length=200)
year = models.DateTimeField('year of car')
def __unicode__(self):
return self.make
class Suggestcar(models.Model):
usercar = models.ForeignKey(Usercar)
make = models.CharField(max_length=200)
model = models.CharField(max_length=200)
year = models.DateTimeField('year of car')
def __unicode__(self):
return self.make
В оболочке, это то, что я получаю, когда я пытаюсь получить сделать из suggestcar, связанного с usercar:
>>from django.utils import timezone
>>mycar1 = Usercar(make="Ford",model="Escort",year=timezone.now())
>>mycar1.save()
>>mycar1.suggestcar_set.create(make="Ford", model="Taurus", year=timezone.now())
>>mycar1.suggestcar_set.filter(id=1).make
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/django/core/management/commands/shell.pyc in <module>()
----> 1 mycar1.suggestcar_set.filter(id=1).make
AttributeError: 'QuerySet' object has no attribute 'make'
Как я могу получить make из этого mycar1.suggestcar_set.filter (id = 1)? Благодаря!
Это еще возвращает ошибку DoesNotExist для меня ... Я дам вам знать, если я Мессинг где-то, и это работает. Благодаря! – Rishi
Что вызывает эту ошибку? 'DoesNotExist' и' AttributeError' сильно отличаются друг от друга. Если вы получаете 'DoNotExist', то для предоставленного запроса результатов нет. Вы можете попробовать 'mycar1.suggestcar_set.values ()', чтобы увидеть все объекты 'Suggestcar', связанные с' mycar1' – Ngenator