【问题标题】:How to create a unique table that is linked to another table?如何创建链接到另一个表的唯一表?
【发布时间】:2018-07-03 19:25:31
【问题描述】:

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

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    我将创建一个包含所有可能的活动名称的活动表和一个名为 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"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 2019-07-14
      相关资源
      最近更新 更多