我formfield_for_manytomany在django文档中使用给定的.但在该函数内部,我需要获取正在编辑的当前父对象.
def formfield_for_manytomany(self, db_field, request, **kwargs):
    if db_field.name == "car":
        kwargs["queryset"] = Cars.objects.filter(owner=person)
    return super(myModel, self).formfield_for_manytomany(db_field, request, **kwargs)
如何让被编辑的人?
我有一个模型,其中一个字段是postgres.fields.JSONField。
将要存储在那里的 Json 是引用数据库中其他项目(可能的关系/属性)的 ID 变量字典。
请允许我更具体:
基本上,我正在尝试创建一个折扣系统,其中某些折扣适用于某些产品。JSON 字段包含了解哪些产品可以获得折扣的约束。
例如:
如果我想对属于“饮料”类别的所有产品应用 50% 的折扣,并且“饮料”类别5在数据库中具有 id ,则折扣记录将如下所示:
discount_type='percent'
discount='0.5'
filter_by={
    'category': [5]
}
如果我想$ 20 off适用于所有产品的“饮料”类别和由制造,比方说,可口可乐,该filter_by词典将如下所示:
discount_type='fixed amount'
discount='20'
filter_by={
    'category': [5],
    'manufacturer': [2]   # Assuming coca-cola is the Manufacturer 
                          # with id==2 in the 'Manufacturers'
                          # table of the database (NOTE: this is 
                          # needed since CocaCola manufactures
                          # products besides "Beverages")
}
如果我想对特定产品(比方说产品id是3)应用 25% 的折扣,字典将如下所示:
discount_type='percent' …