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/

Вернуться на верх