gpt4 book ai didi

python - Django:检查相关对象及其是否包含数据

转载 作者:太空狗 更新时间:2023-10-29 21:29:07 25 4
gpt4 key购买 nike

比如我在一个汽车管理系统(网页)中有两个模型:

    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 为 null True)。

附言:使用此功能:

self.model._meta.get_all_related_objects():

我在品牌模型类中使用了任何相关对象。但是,如果该相关对象包含任何数据,我不知道如何获取。

最佳答案

使用 exists()。它专为此类情况而设计:

for brand in Brand.objects.all():
if not brand.cars_set.all().exists():
# delete

此外,由于其设计为在数据库级别工作的方式,它几乎总是比任何其他类型的检查都快。您可以在 docs 中阅读 exists() 行为的详细信息

关于python - Django:检查相关对象及其是否包含数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23125856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com