小编Mat*_*ppo的帖子

在 Django 管理中显示带有货币的 DecimalField

我有多个模型,其中多个 DecimalField 代表货币,例如 100.34 EUR。

我的目标是在管理列表视图中显示货币,如图所示

http://i.imgur.com/XKEQFp9.png

但是,我无法为每个货币领域找到一种方法。

我尝试创建一个自定义 MoneyField,从 DecimalField 继承并更改unicode表示,但它没有用。

我也尝试过https://github.com/jakewins/django-money但我没有运气。

查了一下django admin的源码,终于找到了问题所在:

在 django.admin.contrib.admin.util.py 的 display_for_field 函数中,它检查该值是否是 DecimalField 的实例。如果是这种情况,它会像十进制数一样显示它。

elif isinstance(field, models.DecimalField):
    return formats.number_format(value, field.decimal_places) 
Run Code Online (Sandbox Code Playgroud)

这是有道理的,但它阻止我在管理中显示欧元符号/文本。

我怎么解决这个问题?

我知道我可以简单地为每个字段使用一种方法,将格式化的值显示为字符串,但我想知道是否有 DRYer 方法。

python django decimal django-admin currency-formatting

7
推荐指数
1
解决办法
7981
查看次数

使用couchdb的高级权限

我们有一个拥有多个用户的couchapp应用程序和一个复杂的权限系统.我们的模型有两种:Foo和bar.

用户拥有自己的Foo和Bar的管理员权限,并且可以被授予查看,更改和删除其他人的Foo和bar的权限.

例:

用户Sabrina有这些模型:

Foo {
  _id: 1
}
Foo {
  _id: 2
}
Bar {
  _id:1
}
Bar {
  _id:2
}
Run Code Online (Sandbox Code Playgroud)

当然真正的模型是更大的文档.

她希望让Giulia能够阅读她的Foos,并对她的第一个酒吧进行读写访问.她还希望朱莉娅不能看到她的第二个酒吧.

我们如何在couchdb中建模这种权限?

这是我们正在使用的解决方案,但它似乎很复杂,我们想知道是否有一个更简单的解决方案:

我们有一些角色选择 {username}:admin:可以读取,写入,删除与用户相关的每个数据库上的所有内容 {username}:foos:read:可以读取与用户相关的foos数据库中的每个文档:可以在foos数据库{username}:foos:write中写入与用户相关的 每个文档 {username}:{bar}:read:can读取与用户相关的Bar数据库 {username}:{bar}:write:可以编写与用户相关的Bar数据库

当Sabrina注册到应用程序时,我们创建了一个新的sabrina-foos数据库,并且我们向用户Sabrina提供了这个角色sabrina:admin.

sabrina-foos数据库与创建_security文档授权访问角色sabrina:admin,sabrina:foos:read,sabrina:foos:write.

sabrina-foos数据库与验证功能,它允许写访问角色创建sabrina:admin,sabrina:foos:write.

当Sabrina决定让Giulia看到她的抱负时,我们给了Giulia这个角色 sabrina:foos:read

当Sabrina创建一个名为"Bar 1"的新Bar时,我们会创建一个新sabrina-bar_1数据库.

sabrina-bar_1数据库与_security文件授权访问角色创建sabrina:admin,sabrina:bar_1:read,sabrina:bar_1:write

sabrina-bar_1数据库与验证功能,它允许写访问角色创建sabrina:admin, …

permissions authorization couchdb couchapp

7
推荐指数
1
解决办法
5003
查看次数