efi*_*ida 2 python mongoengine flask
嗨,我正在使用带有mongoengine的烧瓶,这是我的模特
class Change(db.Document):
code = (('CAD', 'Dolar Canadiense'),
('GBP', 'Libra Esterlina'),
('MXN', 'Peso Mexicano'),
('CHF', 'Franco Suiso'),
('EUR', 'Euro'),
('DKK', 'Corona Danesa'),
('SEK', 'Corona Sueka'),
('JPY', 'Yen Japones'),
('CUP', 'Peso Cubano'),
('PAB', 'Balboa Panama'),
('AUD', 'Dolar Australiano'),
('USD', 'Dolar Estadounidense'),
('NOK', 'Corona Noruega'))
fecha = db.DateTimeField(required = True, unique_with = 'moneda')
moneda = db.StringField(max_length=3, choices=code, required = True)
recanje = db.FloatField(required = True)
canje = db.FloatField(required = True)
@db.queryset_manager
def objects(doc_cls, queryset):
return queryset.order_by('date')
Run Code Online (Sandbox Code Playgroud)
当我进行查询时,如何获得de选择的值:
moneda = Exchange.objects.distinct("moneda")
Run Code Online (Sandbox Code Playgroud)
返回:
['Dolar Canadiense','Libra Esterlina'...]
Run Code Online (Sandbox Code Playgroud)
Ema*_* Ey 10
我建议你用code这样的字典替换你的变量:
codes = {'CAD': 'Dolar Canadiense',
'GBP': 'Libra Esterlina',
'MXN': 'Peso Mexicano',
'CHF': 'Franco Suiso',
'EUR': 'Euro',
'DKK': 'Corona Danesa',
'SEK': 'Corona Sueka',
'JPY': 'Yen Japones',
'CUP': 'Peso Cubano',
'PAB': 'Balboa Panama',
'AUD': 'Dolar Australiano',
'USD': 'Dolar Estadounidense',
'NOK': 'Corona Noruega'
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以将模型更改为仅存储货币代码:
codigo_moneda = db.StringField(max_length=3, choices=codes.keys(), required = True)
Run Code Online (Sandbox Code Playgroud)
并添加一个属性以返回货币的全名:
@property
def nombre_moneda(self):
return self.codes(self.codigo_moneda)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |