zoukankan      html  css  js  c++  java
  • 使用questionsModel.values()后不能获取模型中的属性对应的外键属性值的解决方式

    class QuestionsModel(models.Model):
        author = models.ForeignKey(FrontUserModel,null=True)
        content = models.TextField(null=False)
        create_time = models.DateTimeField(auto_now_add=True)

    1.在questions模型中,有个author外键

    2.使用questions = QuestionsModel.objects.all()

           questionsModel = questions.values()

    这里返回的是一个字典,author改变为一个键值对,非author模型 因此,是无法通过auth.username来获取对应的用户信息。

    解决方式:

    1.遍历questions模型,得到author属性author_id的值。

    2.利用值进行查询当前用户的属性。

    3.将查询到的用户信息和questions模型同时返回

     tmp_questions =[]
       for q in questions:
           user = FrontModel.objects.get(id=q['author_id'])
           tmp_questions.append({'username':user.username,'desc':q})

    另一种方式:

    1.在values中采用 questionsModel = questions.values('author__username ')的方式获得用户信息。

  • 相关阅读:
    [JSOI2008]Blue Mary开公司[李超线段树]
    线段树分治
    满汉全席[2-SAT]
    「一本通 3.5 练习 5」和平委员会
    2-SAT问题
    2019/04/06 BJ省选模拟DAY1
    构造题【随时更
    文本编辑器vim/vi——命令模式
    指令——cat
    指令——history
  • 原文地址:https://www.cnblogs.com/os-python/p/6756172.html
Copyright © 2011-2022 走看看