【问题标题】:User ralated Data from other model来自其他模型的用户相关数据
【发布时间】:2020-10-02 00:13:27
【问题描述】:

我在用户模型中有 2 个同名的人,他们在 Intrest 模型下也有兴趣和级别,我如何在会话模型中从用户模型中获得一个人的级别。 以及如何在视图中获取该数据。 类用户(models.Model):

user_name=models.CharrField(max_length=30):

类兴趣(models.Model):

user=models.Foreignkey(User,on_delete=models.CASCADE)
sports=models.CharrField(max_length=30)
line=(
    ('Beginner','Beginner'),
    ('Intermediate','Intermediate'),
    ('Advance','Advance'),
)

level=models.CharField(max_length=50,choices=line)

类会话(models.Model):

Person=models.Foreignkey(User)
Level=

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

    在您的情况下,一个用户可以有多个兴趣。这就是为什么如果你想得到你所能做的一切:

    user = User.objects.get(...)
    intrests = user.intrest_set.all()
    levels = intrests.values_list('level', flat=True)
    

    但如果你想获得第一个:

    user = User.objects.get(...)
    intrest = user.intrest_set.first()
    levels = intrest.level if intrest else ''  # in case user doesn't have intrests.
    

    【讨论】:

    • 如果一个人也有很多运动,他会有很多兴趣,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    相关资源
    最近更新 更多