, ben bu ilişkiyi saklamak için ManyToMany kullanırsınız. İlişkile ilgili verileri saklamak için bir rota belirtmek üzere through modelini belirtebilirsiniz. Sipariş bilgisi eklemek için birçok seçenek var. Bir naif yol, aşağıdaki gibi bir Tamsayı sipariş alanına sahip olmak ya da varış emrini varış zamanı yoluyla saklamak olabilir. Bu yollar sık sık değişmezse, IntegerField korkunç bir uygulama değildir. Ancak, eğer sık sık değişiyorlarsa, alanları güncellemeniz gerekirdi .... ideal değil.
class Stop(models.Model):
name = ..
latitude = ..
longitude = ..
class Route(models.Model):
stops_list = models.ManytoManyField(Stop, through='StopInfo') # Ordered list of stops on the route
class StopInfo(models.Model):
""" Model for storing data about the Stop/Route relationship """
stop = models.ForeignKey(Stop)
route = models.ForeignKey(Route)
arrival_time = models.DateTimeField(auto_now_add=True)
order = models.PositiveIntegerField()
Sipariş edilen bilgilerin yukarıdaki naif yollardan ayrı olarak saklanabileceği başka yollar nelerdir? – anon