【问题标题】:Django - inheritanceDjango - 继承
【发布时间】:2015-01-31 16:57:05
【问题描述】:

我有继承问题:

class ContainPj(models.Model):
    id_scribe=models.IntegerField()
    id_pj=models.IntegerField()

    class Meta :
        abstract = True


class Member(ContainPj):
    pass


class Collab(Member):
    pass

我制作:
m = 成员(id_scribe=...,id_pj=...)
c = 协作(m)
c.save()
还有:
TypeError: int() 参数必须是字符串或数字,而不是“成员”

我不明白...我在网上研究并没有找到一种解决方案...

【问题讨论】:

  • 这没有任何意义。为什么要尝试使用 Member 实例化 Collab 对象?你预计会发生什么?
  • 我希望 Collab 具有与 Member 相同的属性,但我想搜索所有成员(也包括 Collab)并且我只想搜索 Collab...

标签: django django-models django-errors django-inheritance


【解决方案1】:

如果你想从Member 实例中填充Collab 字段,那么你应该明确地这样做:

c = Collab(id_scribe=m.id_scribe, id_pj=m.id_pj)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多