例如,我在一个汽车管理系统(网页)中有两个模型:
class Brand(models.Model):
brand_name= models.CharField(max_length=100, null=False)
class Cars(models.Model):
car_model= models.CharField(max_length=100, null=False)
car_production_year= models.CharField(max_length=100, null=False)
car_brand= models.ForeignKey(Brand, null=True, blank=True, default = None)
现在,我想从汽车系统中删除一个品牌数据。如何检查此品牌是否已在其他型号中使用,或者该外键是否包含任何数据(因为我已允许car_Brand in Cars model为空-真)。
附言: 使用此功能:
self.model._meta.get_all_related_objects():
我在品牌模型类中使用了任何相关对象。但是,我不知道如何获取相关对象是否包含任何数据。
使用
exists()
。它被设计用于这种情况:而且它几乎总是比任何其他类型的检查都快,因为它的设计方式是在数据库级别工作的。您可以在docs中阅读
exists()
行为的详细信息我认为最简单的方法是这样:
Django docs在相当多的细节中包含外键。
从this question开始,对于我的代码来说,这更快:
如果你有身份证(我的情况),我用这个(比汽车快60%:
我用的是Django 1.11
相关问题 更多 >
编程相关推荐