在django中创建相同的模型

时间:2016-11-05 21:54:46

标签: python mysql django django-models

我正在使用django 1.10和mysql。 我愿意在我的数据库中有两个具有相同字段的表。

class Ticket(models.Model):
    listing = models.ForeignKey(Listing)
    ticketId = models.CharField(max_length=32)
    dateOfPosting = models.DateTimeField()
    seatNumber = models.PositiveIntegerField(null=True, blank=True)

class SoldTicket(models.Model):
    ### same fields here

最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

在数据库中有两个相同的表表明您不需要它们,布尔字段或某些外键最有可能完成这项工作。

Hovewer,如果你真的想拥有两个相同的模型,你应该看看abstract models

class AbstractBase(models.Model):
    listing = models.ForeignKey(Listing)
    ticketId = models.CharField(max_length=32)
    ...

    class Meta:
        abstract = True

class Model1(AbstractBase):
    pass

class Model1(AbstractBase):
    pass

这样,Model1和Model2将具有相同的字段。