首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >父属性的子类模型上的Django unique_together?

父属性的子类模型上的Django unique_together?
EN

Stack Overflow用户
提问于 2010-02-19 16:21:12
回答 3查看 4K关注 0票数 13

在这里:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Administrator(models.Model):
    user = models.OneToOneField(User, primary_key=True)
    account = models.ForeignKey(Account)

    class Meta:
        unique_together = (('account', 'self.user.username'),)

self.user.username部分显然是不正确的。但是,在以下情况下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Administrator(User):
    account = models.ForeignKey(Account)

    class Meta:
        unique_together = (('account', 'username'),)

既然我是从User继承的,这会起作用吗?(我还不能测试它,因为在其他地方有太多不合适的元素)。不过,我可以在'user.username'上使用第一个版本吗?或者,我应该使用第二个版本吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-19 16:33:32

它会是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unique_together = (('account', 'user__username'),)

如果我理解你的意图的话。注意双下划线。这就是如何看待外键对象的属性。

票数 12
EN

Stack Overflow用户

发布于 2012-07-31 15:43:31

我不相信你能用django内核做你想做的事情。正如所指出的,in this answer to a related question unique_together是在DB层强制执行的。如果您检查由django模型继承创建的DB表,您将看到这对于DB来说是不可能完成的。

请看一下相关问题,以获得一些替代解决方案。

票数 7
EN

Stack Overflow用户

发布于 2019-02-13 16:08:53

您缺少的是基类中的abstract = True。这将创建一个包含该子类的所有字段的表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2297800

复制
相关文章
[python]父类、子类、子类实例属性
本文旨在说明 父类、子类、子类实例的属性继承关系: >>> A = type('A', (), {'name':1}) >>> B = type('B',(A,), {'addr':'beijing'})    #B的父类为A >>> A.__dict__ mappingproxy({'name': 1, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute
py3study
2020/01/19
1.9K0
关于子类在继承父类属性和方法的基础上如何增加子类的属性和方法
如何用python程序实现子类在继承父类属性和方法的基础上同时增加子类自己的属性和方法?
算法与编程之美
2023/08/22
1880
关于子类在继承父类属性和方法的基础上如何增加子类的属性和方法
子类调用父类的同名方法和属性
在这里,定义Prentice类,继承了Master和School类,添加了和父类同名属性和方法
北山啦
2022/10/31
1.9K0
java父类引用指向子类对象好处_java子类调用父类属性
Java之所以引入多态的概念,原因之一就它在类的继承上的问题和C++不同,后者允许多继承,这确实给其带来了非常强大的功能,但是复杂的继承关系也给C++开发者带来了更大的麻烦,为了规避风险,Java只允许单继承,势必在功能上有很大的限制,所以,Java引入多态性的概念以弥补这点不足,此外,抽象类和接口也是解决单继承规定限制的重要手段.同时,多态也是面向对象编程的精髓所在.
全栈程序员站长
2022/11/03
1.3K0
子类继承父类,父类的初始化
含有自变量的构建器 上述例子有自己默认的构建器;也就是说,它们不含任何自变量。编译器可以很容易地调用它们,因为不存 在具体传递什么自变量的问题。如果类没有默认的自变量,或者想调用含有一个自变量的某个基础类构建 器,必须明确地编写对基础类的调用代码。这是用 super 关键字以及适当的自变量列表实现的,如下所示:
秋白
2019/02/21
1.9K0
子类赋值父类的赋值兼容
C++ 中,类型的匹配检测是非常严格的,但是你会发现一个现象,如果一个类继承了另外一个类,把子类的对象赋值给父类的时候,系统不但不提示错误,而且程序还能顺利的编译通过并运行。这其实就是 C++ 内部提供的赋值兼容的过程,但是要注意,如果子类数据成员比父类多,则会出现数据截断。具体表现形式如下图:
我与梦想有个约会
2023/10/20
1980
子类赋值父类的赋值兼容
子类可以继承到父类上的注解吗--有结论了
-----------------------------------------------------------------
lyb-geek
2018/07/26
2.9K0
【Python】面向对象 - 继承 ② ( 子类重写父类成员 | 子类调用父类重名成员 | 子类中使用 父类类名 调用父类成员 | 子类中使用 super 调用父类成员 )
子类 继承 父类的 成员属性 与 成员方法 后 , 如果对 继承的 父类成员 不满意 , 可以 重写 父类成员 ;
韩曙亮
2023/10/11
7910
【Python】面向对象 - 继承 ② ( 子类重写父类成员 | 子类调用父类重名成员 | 子类中使用 父类类名 调用父类成员 | 子类中使用 super 调用父类成员 )
django 1.8 官方文档翻译: 2-1-3 元选项 (初稿)
如果 abstract = True, 就表示模型是 抽象基类 (abstract base class).
ApacheCN_飞龙
2022/11/27
8270
Python_子类调用父类的方法
1.方式一 子类调用父类的方法,包含2中形式的调用。一种形式是在类内部通过继承的方式调用父类的方法,另外一种形式是子类实例化后之后通过继承的方式来调用父类的方法。如下图所示:
py3study
2020/01/07
4.9K0
java 父类 new 子类
父类: public class A {   public  void  say(){        System.out.println("Hello   A");   } } 子类: public class B extends  A{ public  void  say(){ System.out.println("Hello   B"); } public void sing(){ System.out.println("sing   hell
用户1220053
2018/02/09
2.5K0
父类返回子类类型的函数写法
我们有这么一个类,一看就是要写 Builder 模式。不过由于我们的这个 Event 的类型比较多,因此希望写一个父类,来一个子类感受下:
bennyhuo
2020/02/20
4.8K0
golang继承——接口父类子类
从面向对象的角度上看,总会有一些使用子类不想做,希望父类去做的事情,在java这样的纯面向对象的语言中,方法就是使用父类和子类,子类通过继承父类的方法,实现子类自己的属性,如果没有某个方法没有经过子类重写,那么这个方法通过子类调用时,就会调用父类的方法。
Java架构师必看
2021/05/14
4.7K0
Java中子类和父类的构造函数?
当继承父类时,构造对象时,父类中的构造函数(super())首先被调用。如果没有,编译器会插入调用父类构造的语句。这就是为什么在创建子类对象时父类中的构造超函数会被调用。  这里没有创建两个对象,只有一个子对象。让父类中的构造器被调用的原因是,如果父类有私有的属性需要在它的构造函数中初始化。  经过编译器插入父类构造函数,子类的构造函数如下所示:
用户7886150
2020/12/08
2.3K0
Django模型之Meta详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。而可用的选项大致包含以下几类
超蛋lhy
2018/08/31
1.2K0
Django之Model的Meta选项详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。而可用的选项大致包含以下几类
菲宇
2022/12/21
9840
【BAT面试题典】子类可以继承到父类上的注解吗?
最简单暴力地,可通过反射技术,在继承链找到对应方法上的注解。但这样很麻烦,还需要考虑桥接方法。幸好Spring足够强大,提供了AnnotatedElementUtils类。
JavaEdge
2021/10/18
8270
【BAT面试题典】子类可以继承到父类上的注解吗?
最简单暴力地,可通过反射技术,在继承链找到对应方法上的注解。但这样很麻烦,还需要考虑桥接方法。幸好Spring足够强大,提供了AnnotatedElementUtils类。
JavaEdge
2021/12/07
7060
【BAT面试题典】子类可以继承到父类上的注解吗?
点击加载更多

相似问题

模型父类字段上的Django unique_together

21

递归模型上的Django meta unique_together

12

unique_together模型上的Django .all()查询

14

跨模型的Django unique_together

10

Django父模型和子类化

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文