Django管理员返回整个对象而不仅仅是FK字段

时间:2017-09-15 10:34:18

标签: django django-models django-admin

我搜索并找到了一些答案,但所有问题都与使用 str 等有关...

我正在使用django管理模块,因为它有趣的是玩和节省时间,我的外键有轻微问题,因为他们返回所有字段值而不仅仅是外键值。

相关模型:

class Order(models.Model):
    Order_ID =models.AutoField(primary_key=True)
    Dept_ID =models.ForeignKey(Department)
    Status =models.ForeignKey(Order_Statu)
    Order_Total =models.DecimalField(decimal_places=2, max_digits=5)

    def __str__(self):
           return '%s %s %s %s' % (self.Order_ID, self.Dept_ID, self.Status, self.Order_Total)


class Order_Item(models.Model):
    Order_ID =models.ForeignKey(Order)
    Itm_Name =models.ForeignKey(Item)
    Quantity =models.IntegerField()

    def __str__(self):
           return '%s %s %s' % (self.Order_ID, self.Itm_Name, self.Quantity)

我的意思是一个例子: Screenshot

我愿意承认这可能是我在文档中忽略的东西,或者它是简单而明显的东西。

1 个答案:

答案 0 :(得分:0)

这就是你得到它的原因

def __str__(self):
           return '%s %s %s %s' % (self.Order_ID, self.Dept_ID, self.Status, self.Order_Total)

如果您只想要id,则需要

def __str__(self):
           return self.Order_ID

你在模型str函数中声明的东西是你到处都可以得到的东西,