我有一个Django模型,我需要从中获得许多表。像工厂一样的东西。 所有表的模式都相同,但表名不同。 e.g。
class MyModel(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100,blank=False)
class Meta:
db_table = 'mytable'
我需要在数据库中,我有表mytable01,mytable02,mytable03 ......
在models.py
中执行此操作的最佳方法是什么?答案 0 :(得分:2)
您可以将单个抽象模型子类化。
# No table, since abstract = True
class BaseModel(models.Model):
class Meta:
abstract = True
name = models.CharField(max_length=100,blank=False)
# Table name "myapp_submodel"
class SubModel(BaseModel):
pass
# Table name "myapp_anothersubmodel"
class AnotherSubModel(BaseModel):
nickname = models.CharField(max_length=100,blank=False)
https://docs.djangoproject.com/en/dev/topics/db/models/#abstract-base-classes
的更多信息