我刚刚重新设计了我的数据库的一部分以使用多表继承,现在事情变得容易多了!
我有一个问题,我试图在我的表中手动插入数千行,现在我无法弄清楚如何做到这一点。
例如为: 之前:
class personal(models.Model):
who = models.CharField...
stamp = models.DateTime...
title = models.CharField ...
descr = models.CharField ...
并在python shell中:
for i in range(1000):
t=datetime.now()
e=timedelta(minutes=i)
entry = personal(who='xyz', stamp=t+e, title='title '+str(i), descr='description for '+str(i)
entry.save()
后:
class common(models.Model):
who ...
stamp ...
class personal(common):
title ...
descr ...
并且在python shell中如果我做同上面的事情就说个人没有名为who / stamp的列
我的问题:我怎样才能在'for'上面调整以在我的新数据库中插入多行?
谢谢!
答案 0 :(得分:0)
您可能需要抽象模型继承:
class common(models.Model):
who ...
stamp ...
class Meta:
abstract = True
class personal(common):
title ...
descr ...
然后上面的代码应该可以工作。
编辑:
对于非抽象继承,插入代码应该是这样的:
for i in range(1000):
t=datetime.now()
e=timedelta(minutes=i)
base = common.objects.create(who='xzy', stamp=t+e)
entry = personal.objects.create(common_ptr=base, title='title '+str(i), descr='description for '+str(i)