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问题
使用登录请求.post导致“错误405不允许”
6 回答
使用登录进行Python web抓取
8 回答
使用登录进行抓取
7 回答
使用登录页面从网站抓取数据
4 回答
使用白色圆圈背景使图像更平滑
7 回答
使用百分位数删除Pandas数据帧中的异常值
3 回答
使用百分号进行Python字典操作
3 回答
使用百分比delimi的Python字符串模板
3 回答
使用百分比分割Numpy ndarray最有效的方法是什么?
4 回答
使用百分比分配和修改变量(计算)
8 回答
使用百分比单位绘制数据
1 回答
使用百分比在单个采购订单中组合不同的订单类型
3 回答
使用百分比将数据帧的子集与完整数据帧进行比较
6 回答
使用百分比形式的BBOX选项,而不是绝对像素PyScreenShot Python
10 回答
使用百分比登录列nam更新表
10 回答
使用百分比登录操作系统或者os.popen公司
7 回答
使用百分比计算:十进制还是可读?
10 回答
使用的dataset和dataloader加载数据时出错torch.utils.data公司. TypeError:类型为“type”的对象没有len()
8 回答
使用的Json无效json.dump文件在Python3
9 回答
使用的overwrite方法\r在python 3[PyCharm]中不起作用
10 回答