【问题标题】:Create identical model in django在 django 中创建相同的模型
【发布时间】:2017-03-19 12:33:29
【问题描述】:

我正在使用 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

最好的方法是什么?

【问题讨论】:

    标签: python mysql django django-models


    【解决方案1】:

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

    不过,如果你真的想拥有两个相同的模型,你应该看看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 将拥有相同的字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多