首页 > 解决方案 > 如何创建一个链接到另一个表的唯一表?

问题描述

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

标签: djangodjango-models

解决方案


我将创建一个包含所有可能的活动名称的活动表和一个名为 UserActivities 的中间表,它将内置的 django 用户模型连接到活动。此外,我们通过一起调用 unique 来确保我们不能有重复的 UserActivities。您可以将活动模型的主键作为名称,但我倾向于坚持使用自动 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"]

推荐阅读