У меня есть следующие модели скелетов:Джанго Rest Serializer получить данные, связанные посредством внешних ключей
class A(models.Model):
post_id = models.ForeignKey('D')
user_id = models.ForeignKey('B')
class B(AbstractBaseUser):
email = models.EmailField(unique=True)
username = models.CharField(max_length=20, unique=True)
first_name = models.CharField(max_length=40)
last_name = models.CharField(max_length=40)
# `resource_id`
profile_photo = models.ForeignKey('C', null=True)
class C(models.Model):
user_id = models.ForeignKey('B')
name = models.CharField(max_length=60)
Я хочу написать сериалайзер для А, который должен возвращать name
от модели С, что связано с В.
связь здесь, как A-> B-> C Теперь, используя сериалайзер, я хочу, чтобы данные быть выбраны из C
Я хочу получить доступ C через канал а то есть получить profile_photo от B и получить имя пр ofile_photo от C
Я прокрутил через RelatedFields, как указано здесь Django Rest relations, но я не могу достичь того, что хочу.
Является ли их любым способом, я могу это достичь.
Также есть много полей, кроме упомянутых в скелете модели, и я не хочу их брать.
EDIT: Окончательный результат мне нужно, это все user_id
для конкретного post_id
от А с name
от модели C
К сожалению неясные, «posts.Post 'не является моделью C, это какая-то другая модель – ofnowhere
@ofnowhereland So вам нужен доступ к C через B? – Gocht
@ofnowhereland Я отредактировал ответ – Gocht