Идея довольно проста, мне нужно запросить несколько моделей в моей функции. Чтобы сохранить его в моем шаблоне, я решил абстрагировать новую модель, которая будет содержать мои данные. Я создаю модель через лямбда.как запросить вложенные foreignKey
Вот эти модели.
class Contact(models.Model):
created_date = models.DateTimeField(auto_now_add=True)
updated_date = models.DateTimeField(auto_now=True)
lastname = models.CharField(max_length=50, null=True, blank=True)
firstname = models.CharField(max_length=50, null=True, blank=True)
email = models.EmailField(null=True, blank=True)
class CRecord(models.Model):
created_date = models.DateTimeField(auto_now_add=True)
updated_date = models.DateTimeField(auto_now=True)
place = models.ForeignKey(Place, related_name="record")
contact = models.ForeignKey(Contact, blank=True, null=True, related_name="records")
class Place(models.Model):
created_date = models.DateTimeField(auto_now_add=True)
updated_date = models.DateTimeField(auto_now=True)
deleted_date = models.DateTimeField(blank=True, null=True)
name = models.CharField(max_length=100, db_index=True)
lat = models.FloatField(db_index=True)
lon = models.FloatField(db_index=True)
Вот моя лямбда, чтобы создать свой новый объект:
tr_contact = lambda x: dict(first_name=x.firstname,
last_name=x.lastname,
owned_place=?)
В основном те, которые я хочу получить за owned_place есть место, содержащееся в CRecord. Часть, с которой я борюсь, состоит в том, что для каждого контакта есть несколько записей, и в каждой записи есть несколько мест. поле own_place должно быть равно каждому месту, содержащемуся в каждой записи.
Я попробовал несколько и даже задавались вопросом, если на самом деле это возможно в одном запросе ..
Что вы пытаетесь сделать? Вы создаете новый объект или фильтруете некоторые объекты? Какой тип объекта вы пытаетесь создать/фильтровать? Ваш вопрос не совсем ясно об этих деталях. – AKS
Я пытаюсь фильтровать. Часть, где я говорю о создании, строго касается шаблона, и вы правы, на самом деле это не совсем понятно. Я пытаюсь фильтровать. Я отфильтровал все контакты и хочу получить все места в каждой записи (может быть несколько записей для одного контакта) – bottus
Пожалуйста, включите соответствующий код (просмотр или любую функцию), где вы пытаетесь сделать эту фильтрацию. – AKS