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