我的models.py
是:
class Order(models.Model):
truck_number = models.CharField(max_length=30,default=None)
date= models.DateField()
product=models.CharField(max_length=30)
depot = models.CharField(max_length=10)
volume = models.CharField(max_length=30, blank=True)
volume_delivered = models.CharField(max_length=30, blank=True)
driver_name=models.CharField(max_length=30,default=None)
driver_id_number=models.IntegerField(default=None)
driver_phone_number=models.IntegerField(default=None)
order_status = models.CharField(max_length=50, blank=True)
所以我需要一个视图,如果只有字段order_status的值被加载,则需要渲染表顺序的整个对象。我如何在django视图中编写此逻辑。
所以有两种方法,既可以过滤你想要的,也可以排除你不想要的那些。 (注意__in运算符的双下划线)
loadings = Object.objects.filter(order_status__in=['Loaded', 'Released', 'Received'])
要么
loadings = Object.objects.exclude(order_status__in=['Failed', 'Error', 'Whatever'])
我设法通过使用:
从django.db.models导入Q,然后使用以下内容过滤视图:
def loading(请求):
loadings = Order.objects.filter(Q(order_status='Loaded') | Q(order_status='Released') | Q(order_status='Received'))
return render(request, 'loadings.html' ,{'loadings':loadings})