Search code examples
djangoviewmodelquerying

how to query an object if it has a field with only a specific value in views psql django


my models.py is :

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)

so i need a view which needs to render the whole objects of Table Order if only the value of field order_status is Loaded. How do i write this logic in django views.


Solution

  • So there is two ways, either filter on the ones you want, or exclude the ones you dont want. (note the double underscore for the __in operator)

    loadings = Object.objects.filter(order_status__in=['Loaded', 'Released', 'Received'])
    

    or

    loadings = Object.objects.exclude(order_status__in=['Failed', 'Error', 'Whatever'])