Создание команды пользователей с заданиями
Я хочу сделать модель, где пользователи могут создавать команды пользователей, и в этих командах добавлять работу, которую они сделали, и выбирать получателя работы (то есть члена этой команды), для которого они ее сделали.
Я не знаю, как создать поле выбора для получателя задания.
from django.db import models
from django.contrib.auth.models import User
class Team(models.Model):
name = models.CharField(max_length=120)
members = models.ManyToManyField(User)
class Job(models.Model):
belonging = models.ForeignKey(Team,on_delete=models.CASCADE)
executor = models.ForeignKey(User,on_delete=models.CASCADE)
task_description = models.CharField(max_length=180)
recipient = models.ManyToManyField(Team.members) # <--
Это зависит от логики вашего проекта. Если задание может использоваться несколькими пользователями, то вам необходимо поле ManyToManyField:
class Job(models.Model):
recipient = models.ManyToManyField(User) # <--
С другой стороны, если задание может быть предназначено только для одного пользователя, это будет ForeignKey:
class Job(models.Model):
recipient = models.ForeignKey(User) # <--