首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型和index_together功能的问题

Django模型和index_together功能的问题
EN

Stack Overflow用户
提问于 2017-07-24 05:15:56
回答 1查看 428关注 0票数 0

使用应用程序创建一个Django项目(将其添加到INSTALLED_APPS!)使用以下models.py

代码语言:javascript
复制
from django.db import models

class BaseTransaction(models.Model):
    pass

class SubscriptionTransaction(BaseTransaction):
    class Meta:
        index_together = ["id", "canceled"]

    canceled = models.BooleanField()

然后事情是这样的:

代码语言:javascript
复制
$ python3 manage.py makemigrations
SystemCheckError: System check identified some issues:

ERRORS:
testprj.SubscriptionTransaction: (models.E016) 'index_together' refers to field 'id' which is not local to model 'SubscriptionTransaction'.
    HINT: This issue may be caused by multi-table inheritance.

请解释这个错误的原因(这里没有多表继承),以及如何使我的代码工作。

这个问题发生在Django 1.10.3和Python 3.5.3和Python 2.7.13上。是Django的bug吗?变通方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-07-24 05:59:54

您会收到此错误,因为您正在使用的id在其他表中,这可能会产生许多问题。

但是如果你不需要BaseTransaction表,你可以把它标记为抽象的,然后你就可以完美地使用你的index_together了。

代码语言:javascript
复制
class BaseTransaction(models.Model):
    class Meta:
        abstract = True
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45269980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档