我有两个模型称为User和Transaction。在这里,我想获取状态为成功的交易金额总和的所有用户。
我已尝试使用子查询,但我不知道如何使用条件注释子查询的聚合
class User(models.Model):
name = models.CharField(max_length=128)
class Transaction(models.Model):
user = models.ForeignKey(User)
status = models.CharField(choices=(("success", "Success"),("failed", "Failed")))
amount = models.DecimalField(max_digits=10, decimal_places=2)
subquery = Transaction.objects.filter(status="success", user=OuterRef('pk')).aggregate(total_spent = Coalesce(Sum('amount'), 0))
query = User.objects.annotate(total_spent=Subquery(subquery:how to do here ?)).order_by(how to order here by total_spent)
Run Code Online (Sandbox Code Playgroud) 我在 aws ec2 中配置了 odoo 并在我运行命令./odoo-bin --config=/etc/odoo.conf并尝试从浏览器访问时从 rds 连接 Postgresql ,我收到以下错误:
ERROR odoo_db odoo.modules.loading: Database odoo_db not initialized, you can force it with `-i base`
File "/opt/odoo/odoo/odoo/modules/registry.py", line 176, in __getitem__
return self.models[model_name]
KeyError: 'ir.http' - - -
Run Code Online (Sandbox Code Playgroud)
而且我也收到此错误:
STATEMENT: SELECT latest_version FROM ir_module_module WHERE name='base'
ERROR odoo_db odoo.sql_db: bad query: SELECT latest_version FROM ir_module_module WHERE name='base'
ERROR: relation "ir_module_module" does not exist
Run Code Online (Sandbox Code Playgroud) 有没有Python库可以生成ean128条形码。我尝试了 'python-barcode' ,但在该库中没有 ean128 的选项。
我想动态更改过滤字段。
我有一个名为的模型Product,字段是title和code
class Product(models.Model):
title = models.CharField(max_length=50)
code = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
我的过滤字段在这样的视图中将是动态的
def filter(request):
search_choices = {
'1': 'title__icontains',
'2': 'code__icontains',
}
col_num = request.GET.get("col_num")
value = request.GET.get("value")
search_field = search_choices.get("col_num")
qs = Product.objects.filter(search_field=value)
........
Run Code Online (Sandbox Code Playgroud)
这里的变量search_field总是动态的......所以我怎么能做到这一点