(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 могут иметь разные любимые цвета.
Как мне настроить мою модель и сериализатор для получения этого результата? Я пытался вложить сериализаторы, но это позволило пользователю только публиковать новые любимые цвета, а не извлекать любимые цвета какого-либо другого сохраненного экземпляра.
Любая помощь очень ценится.