===Модели===
class A(models.Model):
name= models.CharField(max_length=20, blank=False)
Class B(models.Model):
university = models.CharField(max_length=25, blank=False)
location = models.CharField(max_length=30, blank=False)
b_fk= models.ForeignKey(A)
Class C(models.Model):
studentclass = models.CharField(max_length=10, blank=False)
section = models.CharField(max_length= 10)
c_fk = models.ForeignKey(B)
class Cfurther(models.Model):
branch= Models.CharField(max_length=15, blank=Flase)
number = models.IntegerField()
cfur_fk = models.ForeignKey(C)
class Info(models.Model):
info_number = models.IntegerField()
info = models.CharField(max_length= 12, blank=Flase)
info_fk = models.ForeignKey(B, related_name= "info_set")
class Infocategory(models.Model):
find = models.CharField(max_length=15, blank=False)
cat_fk = models.ForeignKey(Info)
class Extra(models.Model):
extrainfo = models.CharField(max_length=30)
extra_fk = models.ForeignKey(Infocategory)
===Просмотр===
Документация по Django
Возвращает QuerySet, который будет автоматически «следовать» взаимосвязям внешнего ключа, выбирая эти дополнительные данные связанного объекта при выполнении запроса.
select_related ограничен однозначными отношениями — внешним ключом и один к одному.
https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related
Я написал следующий набор запросов для извлечения полей модели (все отношения «один ко многим»)
myquery = Info.objects.select_related().filter(info_number__iexact = 123)
- Я хочу перейти от Информационной модели к верхней и нижней моделям
- У меня нет проблем с получением записей класса A с помощью select_related() в шаблоне, но возможно ли получить все поля модели с помощью select_related в моем случае (класс B, C, Cдалее, информационная категория, дополнительная)?
- Если нет, мне нужно создать новый набор запросов? или какой select_related() будет работать?
Я немного запутался в поиске полей select_related