Python中文
首页
教程
问答
标签
搜索
登录
注册
在Django中指定一组相关字段时,公认的最佳实践是什么?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我在Django中为RPG创建了一个“角色”模型,我希望所有属性(力量、灵活性、耐力等)都以类似的方式定义,并且能够以类似的方式进行处理。在</p> <p>显然我可以做到:</p> <pre><code>intelligence = IntegerRangeField(min_value=1, max_value=10) wits= IntegerRangeField(min_value=1, max_value=10) resolve = IntegerRangeField(min_value=1, max_value=10) strength = IntegerRangeField(min_value=1, max_value=10) dexterity = IntegerRangeField(min_value=1, max_value=10) stamina = IntegerRangeField(min_value=1, max_value=10) presence = IntegerRangeField(min_value=1, max_value=10) manipulation = IntegerRangeField(min_value=1, max_value=10) composure = IntegerRangeField(min_value=1, max_value=10) </code></pre> <p><sub>集成字段<a href="https://stackoverflow.com/a/849426/1075247">definition</a></sub></p> <p>但这并不是特别的<a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself" rel="nofollow noreferrer">DRY</a>。这也意味着,当我增加30种相似的技能时,我会变得更不枯燥,更容易出错。在</p> <p>这些似乎不值得通过外键创建(这是解决方案<a href="https://stackoverflow.com/questions/15166828/1075247">here</a>),因为我需要为每个属性指定9个外键</p> <p>有没有解决这个问题的办法已经是干的了?或者我需要自己动手吗?在</p> <p>编辑:<br/> 我对属性和技能的主要用途是提供技能检查的总数,例如,如果我想知道要掷多少骰子,<code>Programming</code>我可以指定它使用字符<code>intelligence+computers</code>属性和技能,例如,从“任务”列表中(例如,其他属性和技能的组合)显示角色可以执行的前五项。在</p> <hr/> <h2>编辑:</h2> <p>看来走M2M路线导致我过度正常化。有人能<a href="https://stackoverflow.com/q/28860194/1075247">suggest improvements</a>吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你为什么不直接用<a href="https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ManyToManyField" rel="nofollow">^{<cd1>}</a>工作呢?在</p> <p>这样您就可以轻松地添加和管理这些属性。而且更易于管理,因为在您的情况下,您必须为每个属性添加一列。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
3 回答
Jupyter运行不同版本的卸载库?
5 回答
Jupyter运行指定的键盘快捷键
3 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
7 回答
Jupyter重新加载自定义样式
4 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
10 回答
jupyter错误:无法在随机林中将决策树视为png
5 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
2 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
4 回答
Jupyter隐藏数据帧索引,但保留原始样式
3 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
4 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
7 回答
Jupy上Python的读/写访问问题
7 回答
jupy上没有模块cv
1 回答
Jupy上的排序错误
2 回答
Jupy中bqplot图形的紧凑布局
7 回答
Jupy中matplotlib plot的连续更新
10 回答
Jupy中Numpy函数的文档
1 回答
Jupy中Pandas的自动完成问题
7 回答
jupy中Qt后端的Matplotlib动画
8 回答