0

グループを作成した人Usersに参加をリクエストできるようにしたいのですが、そうでない人はグループへの参加をリクエストする必要があります。は、ユーザーからの要求を承認または拒否できます。また、ユーザーをユーザーに追加したり、のリクエストを承認/拒否したりすることもできます。始める方法について何か提案はありますか?GroupOwnerOwnerOwnerOwnerOwnerGroupUserOwner

4

1 に答える 1

2

同じ要件を持つdjangoアプリがあります。これをモデル化した方法は次のとおりです(もちろん、「正しい」方法はありません。アプリケーションのニーズによって異なります)。

class User(models.Model):
    number = models.CharField(max_length=24)
    name = models.CharField(max_length=128, blank=True, null=True)
    email = models.CharField(max_length=64, blank=True, null=True)
    ...

class Group(models.Model):
    name = models.CharField(max_length=128)
    owner = models.ForeignKey(User)   
    members = models.ManyToManyField(User, through='Membership', related_name='members', blank=True, null=True)
    ...

class Membership(models.Model):
    # You can add other statuses depending on your application's needs
    STATUS_SUBSCRIBED = 0
    STATUS_UNSUBSCRIBED = 1
    STATUS_REQUESTED = 2

    STATUS = (
    (STATUS_SUBSCRIBED, 'Joined'),
    (STATUS_UNSUBSCRIBED, 'Unsubscribed'),
    (STATUS_REQUESTED, 'Requested'),
    )

    user = models.ForeignKey(User)
    group = models.ForeignKey(Group)
    status = models.IntegerField(choices=STATUS)

    added = models.DateTimeField(auto_now_add=True)
    last_updated = models.DateTimeField(auto_now=True)
于 2012-10-05T07:21:28.070 に答える