REST добавление атрибутов разным пользователям в Django
Я создал свое первое приложение, которое позволяет мне создавать новые записи в таблице под названием "проекты". На данный момент у меня стандартная модель пользователя, и я хотел бы создать новую таблицу, где я могу назначить пользователя (ID или имя) одному или нескольким проектам-объектам.
В идеале это должна быть совершенно новая таблица, содержащая только пары записей ID/имя пользователя и ID/имя проекта. Но я действительно не знаю, как я могу извлечь объект из списка пользователей и объект из списка проектов, чтобы поместить их вместе в новую таблицу.
Я бы предложил структурировать ваши модели следующим образом:
class Project(models.Model):
... other fields
users = models.ManyToManyField(User, null=True, blank=True)
Как вы можете видеть здесь, я использую отношение ManyToMany, которое создает другую таблицу, хранящую пары project_id-user_id.
В случае, если вы хотите вернуть все объекты User для объекта проекта, вы должны сделать:
project = Projects.objects.get(...)
project_users = project.users.all()
В случае, когда вы хотите вернуть связанные проекты для объектов User, вы должны сделать:
user = User.objects.get(...)
user_projects = user.project_set.all()
Для получения дополнительной информации, пожалуйста, смотрите https://docs.djangoproject.com/en/3.2/topics/db/examples/many_to_many/