Python 如何在Django中基于模型字段过滤对象
我有一个名为Order的模型,它的外键指向当前用户Python 如何在Django中基于模型字段过滤对象,python,django,Python,Django,我有一个名为Order的模型,它的外键指向当前用户 class Order(models.Model): customer_name = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='customer_name', ) order_individual_price = models.IntegerField(default=1) order_default_price =
class Order(models.Model):
customer_name = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='customer_name',
)
order_individual_price = models.IntegerField(default=1)
order_default_price = models.IntegerField(default=1)
order_name = models.CharField(max_length=200)
order_quantity = models.IntegerField(default=1)
order_total_price = models.IntegerField(default=1)
我目前有2个来自2个不同用户的订单对象。如何过滤对象,使其仅显示来自特定用户的对象
我目前有以下代码:Order.objects.filter(customer\u name='chironsus')
它给了我这个错误:ValueError:
字段“id”需要一个数字,但得到了“chironsus”。
不是用户的主键,它可能是用户名。您可以使用以下方法过滤:
Order.objects.filter(customer_name__username='chironsus')
Order.objects.filter(customer\u name\u username='chironsus')
注意:外键
不存储
在列中引用的对象,它存储所引用的记录的主键
列中的引用,其\u id
后缀为外键
字段。所以
ForeignKey
s通常不以\u名称
后缀结尾。你可能想
考虑重命名<代码>客户机名称>代码>字段>代码>客户>代码> < /P>