【问题标题】:Django: how to map model object to parameter and pass it to a methodDjango:如何将模型对象映射到参数并将其传递给方法
【发布时间】:2015-05-13 05:59:19
【问题描述】:

这是我的模型:

class Article(models.Model):
    parentId = models.IntegerField()
    content = models.CharField(max_length = 1000)
    commitDate = models.DateTimeField(auto_now_add=True)
    countLike = models.IntegerField(default=0,editable = False)
    rootId = models.ForeignKey(Theme)
    userId = models.ForeignKey(User)

community_list(self,table,field):
    themeReply = len(table.objects.filter(field = themeId))

我想知道如何将作为库对象的 rootid 传递给field

更新我的代码并展示我如何调用community_list 以及如何分配参数:

def request_community_list(self,doObjects,table,field):
        returnTheme = {}
        if len(doObjects)!=0:
            if len(doObjects)<20:
                returnTheme['status'] = "lack"
            if len(doObjects)==20:
                returnTheme['status'] = "OK"
            returnThemeArray = []
            for i in range(len(doObjects)):
                backTheme = {}
                backTheme['themeId'] = doObjects[i].id
                backTheme['title'] = doObjects[i].title
                backTheme['schoolIdId'] = doObjects[i].schoolId_id
                themeCreateTime = str(doObjects[i].createTime)[:19]
                backTheme['createTime'] = themeCreateTime
                backTheme['tagSelf'] = doObjects[i].tagSelf
                backTheme['isImage'] = doObjects[i].isImage
                themeId = doObjects[i].id
                themeReply = len(table.objects.filter(field = themeId))
                backTheme['reply'] = themeReply
                returnThemeArray.append(backTheme)
            returnTheme["info"]  = returnThemeArray
            return json.dumps(returnTheme)
        else:
            returnTheme = {}
            returnTheme['status'] = 'nodata'
            return json.dumps(returnTheme)

【问题讨论】:

  • 您是从表中读取rootID 还是创建新ID?在任何情况下,创建类对象,然后将其传递给community_list,这与其他任何情况一样直接。
  • @nu11p01n73R 只是 rootId 参数。我尝试 Article.objects.rootId_id... 但它不起作用.. 告诉我它不是一个有效的参数
  • 向我们展示您如何调用community_list 以及如何分配参数
  • @nu11p01n73R 我更新了我的代码。

标签: python django python-2.7


【解决方案1】:
community_list(self,table,field):
     articleInstance = Article()
     self.field = articleInstance.rootID
     themeReply = len(table.objects.filter(field = themeId))

【讨论】:

    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多