如何从Django模型继承和过滤数据

数字elshekh

如何从Django中的基本模型继承和过滤数据?

例如,我的基本模型如下所示:

class Customers(models.Model):
     Time_Registered = models.DateField(blank=False)
     Number = models.CharField(max_length=500)
     Name = models.CharField(max_length=250)  
     Locations = models.ForeignKey(Locations, on_delete=models.CASCADE)

我要做的是创建另一个模型,其中包含与一个位置有关的客户信息,例如:

Class Canada(Customers):
    class Meta:
    proxy = True
  # filter by Canada'
暴龙

您可以使用自定义管理器来完成此操作

您可以根据需要自定义文档中的示例,例如:

class CanadaCustomerManager(models.Manager):
    def get_queryset(self):
        # Adapt the query to your needs
        return super().get_queryset().filter(location__name="Canada")

然后,您将在其中一个模型(CustomersCanada)中实例化管理器

请注意,如果您只想定义自定义管理器,则实际上不需要定义新的代理模型。例如,您可以Customers像这样模型中使用它

class Customers(models.Model):
    Time_Registered = models.DateField(blank=False)
    Number = models.CharField(max_length=500)
    Name = models.CharField(max_length=250)  
    Locations = models.ForeignKey(Locations, on_delete=models.CASCADE)

    from_canada = CanadaCustomerManager()

然后使用它来检索对象:

>>> Customers.from_canada.all()

附带说明一下,使用Django,约定是将模型类声明为单数名词(即Customernot Customers)。这是因为,即使db表包含您的所有客户,模型的每个实例也代表一个客户。

此外,属性名称通常是在不使用大写字母的情况下声明的(即time_registered而不是Time_Registered)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django师生模型过滤数据

来自分类Dev

Django-模型元数据是否继承?

来自分类Dev

Django Rest框架和模型继承

来自分类Dev

如何查询集继承模型Django?

来自分类Dev

如何从Django模型和HTML模板中获取数据

来自分类Dev

Django模型继承

来自分类Dev

Django:如何使用ManyToMany关系过滤模型

来自分类Dev

Django-如何在相同模型的save方法中过滤数据

来自分类Dev

django模型继承和视图转换为子类型

来自分类Dev

在Django中结合抽象模型类和多表继承

来自分类Dev

如何在Django中按模型过滤模型

来自分类Dev

如何根据其他非相关模型过滤django模型

来自分类Dev

使用Django模型继承时如何避免这种冗余?

来自分类Dev

如何通过继承扩展django抽象基础模型?

来自分类Dev

如何修复继承的模型?

来自分类Dev

如何修复继承的模型?

来自分类Dev

Django 表单和从模型渲染数据

来自分类Dev

Django 模型过滤(查询)

来自分类Dev

django抽象模型继承导入

来自分类Dev

Django模型继承,覆盖字段

来自分类Dev

Django模型中的“部分继承”

来自分类Dev

从django.forms继承模型

来自分类Dev

Django用户模型继承无效

来自分类Dev

django用户继承的模型失败

来自分类Dev

迁移自Django继承的模型

来自分类Dev

Django从多个模型类继承

来自分类Dev

如何在django和MySQL中过滤数据库中的两个字段?

来自分类Dev

如何在django和MySQL中过滤数据库中的两个字段?

来自分类Dev

django模型继承:模型创建如何与Custom Manager一起使用?