【问题标题】:Choice field for multiple items in a field一个字段中多个项目的选择字段
【发布时间】:2020-06-15 07:45:39
【问题描述】:

如果我在 Sports 中有 5 种不同的运动,那么在 Intrest 模型中,我想分别为这 5 种运动中的每一项设置级别,并希望打印。如何做。 示例:板球=高级 篮球=初学者

            class Sports(models.Model):

                Sport=models.CharField(max_length=30)

            class User(models.Model):
                user=models.CharField(max_length=30)

            class Intrest(models.Model):
                user_name=models.Foreignkey(User,on_delete=models.CASCADE)
                sport=models.Foreignkey(Sports,on_delete=models.CASCADE)
                LEVEL=(
                    ('1','Beginer'),
                    ('2','Intermediate'),
                    ('3','Advance'),
                    ('4','Nevel Played'),
                            )
                Level=models.CharField(max_length=30,choices=LEVEL)           

【问题讨论】:

  • 在您的Sports 模型中,您能否定义与您的Intrest 模型的外键关系?例如,intrest = models.ForeignKey("Intrest", on_delete=models.CASCADE)
  • 但是如何连接到用户
  • 我只是想要,用户一次填写所有运动的兴趣,类似的东西
  • 为什么 User 模型是 CharField?如果使用 Django 的用户模型,则不必定义用户模型。
  • 不,我没有使用 django 用户

标签: django django-models


【解决方案1】:

这样的事情对我有用:

from django.conf import settings

class Sports(models.Model):
    sport_type = models.CharField(max_length=30)
    user = models.Foreignkey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)

    class Interest(models.IntegerChoices):
        beginner = 1
        intermediate = 2
        advance = 3
        never_played = 4
        level = models.IntegerField(choices=Interest.choices, help_text="How well can you play?")

【讨论】:

  • 我没有使用 django 用户
  • 我的回答仍然有效 - 只需将用户替换为您自己的模型。
  • 我正在创建一个 api,我需要在那里实现它
猜你喜欢
  • 2021-05-20
  • 2016-12-19
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
相关资源
最近更新 更多