python - 模型继承在 Django 模型中如何工作?
问题描述
这是我的模型:
class OdishGovtJobs(models.Model):
start_date = models.CharField(max_length=60)
last_date = models.CharField(max_length=60)
post_name = models.CharField(max_length=255)
education = models.CharField(max_length=255)
more_info = models.CharField(max_length=255)
requirement_board = models.CharField(max_length=255)
type = models.IntegerField()
def __str__(self):
return "Odisha Govt Jobs"
class AndamanNicoborGovtJobs(OdishGovtJobs):
pass
def __str__(self):
return "Andaman Nicobor Govt Jobs"
我希望第一个和第二个模型的所有字段都相同,但出现以下错误:
解决方案
您需要将基本模型 OdishGovtJobs 定义为抽象模型参考抽象基类¶
因此,您更新后的代码应如下所示:
class OdishGovtJobs(models.Model):
start_date = models.CharField(max_length=60)
last_date = models.CharField(max_length=60)
post_name = models.CharField(max_length=255)
education = models.CharField(max_length=255)
more_info = models.CharField(max_length=255)
requirement_board = models.CharField(max_length=255)
type = models.IntegerField()
class Meta:
abstract = True
def __str__(self):
return "Odisha Govt Jobs"
此外,根据您想要实现的设计,您的基本模型应该被命名为GovtJobs,并且 OdishGovtJobs 等应该从它继承。
推荐阅读
- swift - 如何将 compositingFilter 添加到 NStextfield
- java - 无法构造可恢复密钥。你的证件有效吗?
- oracle - Oracle 版本和 Spring Boot
- javascript - 阻止创建 WebMediaPlayer 的尝试,因为已经存在太多 WebMediaPlayer
- python - 迭代数据框的两列并根据另一列的条件替换空值
- javascript - 使用 getScrollHeight 判断滚动条底部在 PC Chrome 中可以正常工作,但不能在 Chrome 的移动设备上工作
- javascript - 使用 findById 时无法在数组中传递多个文档
- spring-boot - 在 Spring Boot 中使用 ScheduledExecutorService 在每月的第一天运行一个任务
- sql - 如何在列中列出唯一条目以及在下一列中它们重复的相应时间?
- python - 在 python 中使用 csv.reader 搜索删除