2016-11-05 5 views
0

mysql에서 django 1.10을 사용하고 있습니다. 동일한 필드가있는 DB에 두 개의 테이블을 갖고 싶습니다.django에서 동일한 모델 만들기

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 

가장 좋은 방법은 무엇입니까?

답변

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는 동일한 필드를 갖습니다.

관련 문제