如何创建链接到另一个表的唯一表?

时间:2018-07-03 19:25:32

标签: django django-models

我正在Django中创建一个项目。我想创建一个列,其中包含用户参与的活动(体育,教育等,每个活动都有唯一的ID和名称)的列表。

1 个答案:

答案 0 :(得分:0)

我将创建一个包含所有可能的活动名称的活动表和一个名为UserActivities的中间表,该表将内置的django用户模型连接到Activity。另外,我们通过一起调用唯一的方法来确保不会有重复的UserActivities。您可以将“活动”模型的主键作为名称,但是我倾向于保留auto id字段。希望这可以让您开始使用django!

from django.db import models
from django.contrib.auth.models import User


class Activities(models.Model):
    name = models.CharField(max_length=256, unique=True)


class UserActivities(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    activity = models.ForeignKey(Activities, on_delete=models.CASCADE)
    class Meta:
        unique_together = ["user", "activity"]