Я расширил модель пользователя Django, создав зависимость 1-к-1 с классом Profile. В одном сообществе будет много профилей. А профиль может одновременно играть в разных сообществах. Я сделал это с помощью «членов» поля «многие ко многим» в модели сообщества. Это показано ниже. (Я сократил нерелевантный код)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
# Extend Users Here
class Community(models.Model):
username = models.CharField(max_length=100)
password = models.CharField(max_length=50)
members = models.ManyToManyField(Profile, through='Membership')
def get_members(self):
return "\n".join([str(m) for m in self.members.all()])
class Membership(models.Model):
community = models.ForeignKey(Community, on_delete=models.CASCADE)
player = models.ForeignKey(Profile, on_delete=models.CASCADE)
Когда создается новый профиль, я бы хотел, чтобы он был немедленно связан сСообщество.
Поэтому в форме регистрации пользователя я хотел бы спросить его, хочет ли он присоединиться к существующему сообществу или создать новое.
Я считаю, что мне нужно что-то вроде "НесколькоФорма », но я был бы признателен за помощь в том, что именно мне нужно и как я могу найти информацию о нем.
Спасибо!