0

我有一个 Django 模型,它有一个可选的外键。我以这种方式设置它,以便表包含不同的默认选项,service_types但可以通过指定controller外键来覆盖此选项。

现在在我看来,我有一堆看起来像这样的代码:

try:
    modeService = RegressionServices.objects.get(controller=controller, service_type=SERVICE_TYPE_CONTROLLER_MODE)
except RegressionServices.DoesNotExist:
    modeService = RegressionServices.objects.get(service_type=SERVICE_TYPE_CONTROLLER_MODE)

我想把它减少到一个电话,我认为 Django 模型Manager应该是这样做的方式。本质上,它会检查控制器**kwargs,如果存在,它基本上会执行上面的代码。我正在查看文档,只发现该get_query_set方法通常被覆盖。重写get()方法可以吗?我什至可以RegressionServices在模型管理器get()方法中访问模型吗?

除了模型经理之外,任何人都可以想到这样做的方法吗?

4

1 回答 1

0

只需使用Qobjects进行逻辑 OR 即可。

于 2012-04-09T18:22:57.593 回答