Извлечение данных из сохраненного экземпляра в сериализатор в Django Rest Framework - PullRequest
0 голосов
/ 25 июня 2018

(Django 2.0, Python 3.6, Django Rest Framework 3.8.2)

Я хотел знать, как извлечь данные, которые были сохранены в качестве экземпляра в отдельной модели, и включить их в другой сериализатор в качестве поля выбора. Например, допустим, у меня есть следующие модели:

class Colors(models.Model):

    email = models.EmailField(max_length=255, unique = True)

    RED = 'RED'
    BLUE = 'BLUE'
    GREEN = 'GREEN'
    YELLOW = 'YELLOW'
    ORANGE = 'ORANGE'

    COLOR_CHOICES = (
        (RED, 'red'),
        (BLUE, 'blue'),
        (GREEN, 'green'),
        (YELLOW, 'yellow'),
        (ORANGE, 'orange')
    )

    favorite_colors = models.CharField(
        max_length=6, choices=COLOR_CHOICES
    )




class PickFromSpecifiedColors(models.Model):

    #THIS IS PART OF WHERE MY PROBLEM LIES
    #TO ACHIEVE WHAT I WANT, I DON'T KNOW IF I NEED TO IMPLEMENT THAT LOGIC HERE
    #OR IN MY SERIALIZER

    colors_user_id_7_selected = models.ForeignKey(Colors, on_delete=models.CASCADE)

И пользователь с id = 7 создал следующий пост в Colors:

{
    'id': 7
    'email': 'example@example.com',
    'favorite colors': 'red','blue','green'
}

Когда я перехожу к PickFromeSpecifiedColors для публикации, я хотел бы видеть следующие опции в качестве поля выбора, ограничивающего выбор только тем пользователем, которому предоставлен id = 7:

{
    'colors_user_id_7_selected': 'red','blue','green'
}

Где пользователи с 1 по 6 могут иметь разные любимые цвета.

Как мне настроить мою модель и сериализатор для получения этого результата? Я пытался вложить сериализаторы, но это позволило пользователю только публиковать новые любимые цвета, а не извлекать любимые цвета какого-либо другого сохраненного экземпляра.

Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...