2017-03-19 28 views
0

我正在使用Django来准备一个小应用程序。它的一个特征是标签必须是波兰语的形式,使用非ASCII字符。我不确定数据库是否要保持sqlite,postgres或mysql。 现在。我很想使用ModelForm来创建表单,但我不知道覆盖默认标签文本的方式 - 即 - 各个列的名称。这迫使我使用非ASCII字母命名列。列名中的非ASCII字符 - 一个坏主意?

这是一个非常糟糕的主意吗?它可能会造成很多问题吗?我应该放弃ModelForms并转而使用Forms吗?或者是否还有其他的解决方案可以将db,ModelForm和Polish标签中的英文(ASCII)列名与非ASCII字符组合起来?

我将你的建议:)感谢

编辑:

现在我正在考虑在模型领域的类似的东西,不知道是否非ASCII字符 - 但不是数据库列! - 可能会导致任何麻烦?

class MyModel(models.Model): 
    treść = models.TextField(db_column="body") 




class MyForm(ModelForm): 
     Meta: 
      model = MyModel 
+0

[意见为主]是的,这是一个坏主意。即使是MixedCase标识符也是一个不好的主意(因为它们实际上会迫使你在剩余的生活中引用标识符) – wildplasser

+0

我同意,这是一个坏主意。它可能工作困难,为什么不呢?我没有看到你如何被迫在你的数据库表中使用波兰列名。一些代码会非常受欢迎。我总是用英文编程,包括评论和文档。这使得与不会说我的语言的人一起工作变得更容易。 –

+0

e列名不一定要用波兰语,但表单标签可以... django ModelForm(就我所知)采用模型字段的名称并将它们转换为标签。我可以创建波兰字段的名称并制作不同的英文列名 - 我已经编辑了相应的问题 – fanny

回答