python - Django模型:名称仅相差一个数字的属性名称分配
问题描述
我有这个模型(其目的是保存数据):
class UserPhraseDatum(models.Model):
result_from = models.ForeignKey(Results, related_name="data")
phrase = models.ForeignKey(Sound)
score = models.DecimalField(max_digits=5, decimal_places=4)
snr = models.PositiveSmallIntegerField()
m_energy_1 = models.PositiveSmallIntegerField()
m_energy_2 = models.PositiveSmallIntegerField()
m_energy_3 = models.PositiveSmallIntegerField()
m_energy_4 = models.PositiveSmallIntegerField()
m_energy_5 = models.PositiveSmallIntegerField()
m_energy_6 = models.PositiveSmallIntegerField()
m_energy_7 = models.PositiveSmallIntegerField()
u_energy_1 = models.PositiveSmallIntegerField()
u_energy_2 = models.PositiveSmallIntegerField()
u_energy_3 = models.PositiveSmallIntegerField()
u_energy_4 = models.PositiveSmallIntegerField()
u_energy_5 = models.PositiveSmallIntegerField()
u_energy_6 = models.PositiveSmallIntegerField()
u_energy_7 = models.PositiveSmallIntegerField()
最终,这些实例中的信息将在 中进行分析R
,并可能输出到 CSV。将始终有 6 个条目m_energy
和 6 个条目u_energy
。有没有更好的方法来分配这些?
解决方案
您也可以使用反向ForeignKey
关系。您需要创建其他模型:
class m_energy(models.Model):
content_field = '''some content'''
UserPhraseDatum = models.ForeignKey('UserPhraseDatum', related_name = 'm_energies')
和u_energy
是一样的。
在您的查询中,您可以采用m_energy
以下方式:
var = UserPhraseDatum.objects.filter(m_energies__content_field )
推荐阅读
- java - 如何在android studio中将多个pdf文件合并为一个
- python - 此代码导致计数反转在 +1 和 -1 左右出现错误
- java - 我有一个关于 java 的正则表达式模式匹配的问题
- javascript - 修复 e.code 不选择 html 类的问题
- nix - nix-darwin 中不存在选项“programs.direnv”
- java - 如何在Java中的字符串中获取一定数量的数字之后的所有字符?
- node.js - 创建带有模式的模型包以将其安装在不同的应用程序 node.js 中
- html - Firefox 和 Chrome 之间嵌套 flexbox 溢出的差异
- python - Python 中的 isalpha() 方法是否识别所有非字母字符?
- python - 在 Python 上使用正则表达式查找表达式中的任何数值