簡體   English   中英

Django:指定模型的正確方法(元組列表)

[英]Django: correct way to specify model (list of tuples)

我對當前模型不滿意,想問一下是否有更好/更好的方法來達到相同的結果。

我想要什么?

  • 包含多個列表的對象A。 每個列表包含元組,第一個條目是日期對象,第二個條目是浮點數或整數。
  • 如果刪除A,B也應刪除。 如果我刪除BI,只想有一個空列表。

我如何做到這一點:

class TimeValueIntSequence(models.Model):
    pass

class TimeValueFloatSequence(models.Model):
    pass

class TimeValueInt(models.Model):
    time = models.DateField()
    value = models.IntegerField()
    sequence = models.ForeignKey(TimeValueIntSequence, models.CASCADE, blank=False, null=False)

class TimeValueFloat(models.Model):
    time = models.DateField()
    value = models.FloatField()
    sequence = models.ForeignKey(TimeValueFloatSequence, models.CASCADE, blank=False, null=False)

class A(models.Model):
    field1 = models.OneToOneField(TimeValueIntSequence, models.SET_NULL, blank=True, null=True, related_name='field1')
    field2 = models.OneToOneField(TimeValueIntSequence, models.SET_NULL, blank=True, null=True, related_name='field2')
    field3 = models.OneToOneField(TimeValueFloatSequence, models.SET_NULL, blank=True, null=True, related_name='field3')

怎么了?

  • 方法似乎效率低下。
  • 如果刪除A型對象,則不會刪除序列。

你有反饋么? 謝謝!

我找不到更好的解決方案,所以最終使用了JSON。 如果您遇到相同的問題,請確保使用DjangoJSONEncoder處理日期時間對象。

備注:如果Django可以抽象化它並使您能夠講述任意數據類型(只要它們是可序列化的),那就太好了。 如果您知道如何,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM