zal*_*rak 2 python django django-models django-queryset
假设我有两个模型,一个是另一个模型的父模型.如何查询Django中不是餐馆的所有地方?Place.objects.all()会包括所有餐馆吗?我想从结果中排除孩子.谢谢!
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
Ada*_*ley 13
过滤Django自动创建OneToOneField.如果它IS NULL,这Place不是一个Restaurant.
non_restaurant_places = Place.objects.filter(restaurant__isnull=True)
Run Code Online (Sandbox Code Playgroud)
mVC*_*Chr -1
根据文档,您可以检查小写模型名称是否存在作为属性:
places = Place.objects.all()
not_restaurants = [p for p in places if not hasattr(p, 'restaurant')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |