代码之家  ›  专栏  ›  技术社区  ›  the_drow

Django和域层

  •  4
  • the_drow  · 技术社区  · 14 年前

    如何使用django组织我的域层?

    我知道我可以编写自定义管理器来保存我的查询,但是如果我想要更灵活的东西,比如规范模式,该怎么办呢?

    Django有什么独特的域模式吗?

    我目前正在设计一个使用django的大型应用程序,我想知道如何正确处理域层。

    1 回复  |  直到 9 年前
        1
  •  5
  •   knutin    14 年前

    • MyModel.objects.create_complex(foo, bar)
    • my_instance.get_accumulated_interest()
    • clean

    Q objects

    q = Q(field__isnull = False) | Q(otherfield__isnull = False)
    objects = Model.objects.filter(q)
    

    def HasFooBar(model_class):
        return list(model_class.objects.filter(somefield__contains = 'foobar'))
    
    def BarHasBaz(model_class, arg):
        return list(model_class.objects.filter(somefield = arg))
    
    objects = HasFooBar(MyModel) + BarHasBaz(OtherModel, baz)