我想覆盖现有模型并使用不同的管理器,同时保留相同的数据库表,以便我可以在不同的地方使用不同的管理器查询相同的数据。
我的代码如下:
我的标签/models.py
from tagging.models import Tag as tagging_tag, TagManager as tagging_tagmanager
class TagManager(tagging_tagmanager):
def get_query_set(self):
return super(TagManager,self).get_query_set().filter(site=settings.SITE_ID)
class Tag(tagging_tag):
#id = models.AutoField(primary_key=True)
objects=TagManager()
class Meta:
db_table="tagging_tag"
但是如果我 sql 它的代码将是这样的:
CREATE TABLE "Tagging_local_tag" (
"tag_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "tagging_tag" ("id")
)
;
该tag_ptr_id
字段在这里引起问题,它正在尝试创建一个新表并引用原始表。
有没有办法处理这个问题?