外键值将作为对象而不是django的数据表中的id返回

时间:2018-09-27 06:33:18

标签: django django-views

当我尝试从数据库中获取数据时,我正在将外键值作为对象而不是值。

在Models.py

class UP_ROLE_MENU_MAP(models.Model):
    iRMID = models.AutoField(primary_key=True)
    iRoleID = models.ForeignKey(UP_ROLE_MASTER,on_delete=models.CASCADE,default='',db_column='iRoleID')
    iMenuID = models.ForeignKey(up_menus,on_delete=models.CASCADE,default='',db_column='iMenuID')
    iStatus = models.PositiveSmallIntegerField(default=1, blank=True,null=True)

在数据表视图中

class OrderListJson(BaseDatatableView):
    model = UP_ROLE_MENU_MAP
    columns = ['iMenuID', 'iDeleteAccess','iAddAccess','iViewAccess']
    order_columns = ['iMenuID', 'iDeleteAccess','iAddAccess','iViewAccess']
    max_display_length = 10
    def render_column(self, row, column):
        if column == 'iViewAccess':
            return ...
        else:
            return super(OrderListJson, self).render_column(row, column)

输出:[“ up_menus对象(3)”,“ 0”,“ 1”,“链接”] 我如何获取值而不是对象。

1 个答案:

答案 0 :(得分:1)

要获取ID而不是对象,只需从

更改您的列
columns = ['iMenuID', 'iDeleteAccess','iAddAccess','iViewAccess']

columns = ['iMenuID_id', 'iDeleteAccess','iAddAccess','iViewAccess']