繁体   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