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 ')的方式获得用户信息。

  • 相关阅读:
    钱多多软件制作04
    团队项目01应用场景
    HDU 4411 arrest
    HDU 4406 GPA
    HDU 3315 My Brute
    HDU 3667 Transportation
    HDU 2676 Matrix
    欧拉回路三水题 POJ 1041 POJ 2230 POJ 1386
    SPOJ 371 BOXES
    POJ 3422 Kaka's Matrix Travels
  • 原文地址:https://www.cnblogs.com/os-python/p/6756172.html
Copyright © 2011-2022 走看看