如果我有django模型,例如:
from django.db import models
class Super(models.Model):
field_a = models.IntegerField()
field_b = models.DateTimeField()
另一个扩展它的模型:
class Sub(Super):
pass
那么如何设置field_a
和field_b
的固定值作为构建Sub
实例的一部分?
比如说,我想将field_a
设置为123
,将field_b
设置为datetime.now()
,作为Sub
构造函数的一部分。
对于它的价值,我有一个Java背景,基本上我正在寻找的是python / django相当于:
public class Super
{
int fieldA;
long fieldB;
public Super(int a, long b)
{
this.fieldA = a;
this.fieldB = b;
}
}
public class Sub extends Super
{
public Sub()
{
super(123, System.currentmillis());
}
}
答案 0 :(得分:0)
不要将Java与Python混合 - 这不是Python的工作方式!
您的问题的一般示例是:
class Sup:
field = "default one"
def __init__(self, value=None):
if value != None:
self.field = value
class Sub(Sup):
def __init__(self, value=None):
if value != None:
Sup.__init__(self, value)
default = Sub()
print default.field
modified = Sub("modified one")
print modified.field
您还可以在继承课程中调用超级 - read more here
另外请注意你的qestion与Django没什么共同之处 - 如果我是你,我会在创建Django项目之前先用一些好的Python教程