@val1n0r

Как правильно организовать ForeignKey связи?

Доброго времени

Есть модель
class user_alliance(models.Model):

    al_leader = models.OneToOneField(User,on_delete=models.CASCADE,related_name='alliance_leader') # Кому принадлежит клан
    al_member = models.ForeignKey(User,on_delete=models.CASCADE) # Участники

    al_name = models.CharField(default='Альянс',max_length=48)
    al_level = models.IntegerField(default=1)

    
    def __str__(self):
        return self.al_name


Как видно выше - модель альянс, которая имеет лидера и участников, как правильно отнести много пользователей к одному альянсу?

Спасибо.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bacon
во-первых, pep8 и принятые в Django правила
class Alliance(models.Model):
    leader = ...
    member = ...
    name = ...
    level = ...

во-вторых, если User может быть только в одном альянсе, то проще создать кастомного User с ForeignKey на Alliance (ну и member тогда не нужен), а если в нескольктх то
class Alliance(models.Model):
    ...
    members = models.ManyToManyField(User)
    ...

обрати внимение что в таких случая принято множественное число
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы