从PyAMF类别名中删除django字段

从PyAMF类别名中删除django字段,django,model,field,amf,pyamf,Django,Model,Field,Amf,Pyamf,我用 使django模型成为AMF序列化对象 但是问题是mymodel包含一个自动创建的pk字段,名为id,但是Flash/Flex客户端不能接受这样的字段,有没有办法在PyAMF ClassAlias中删除该字段 提前谢谢 以下是我自己的解决方案: my_classalias = pyamf.register_class(mymodel, mymodel._meta.object_name) 或者,在您的models.py中 m = my_model ka = pyamf.register_

我用

使django模型成为AMF序列化对象

但是问题是mymodel包含一个自动创建的pk字段,名为
id
,但是Flash/Flex客户端不能接受这样的字段,有没有办法在PyAMF ClassAlias中删除该字段


提前谢谢

以下是我自己的解决方案:

my_classalias = pyamf.register_class(mymodel, mymodel._meta.object_name)
或者,在您的
models.py中

m = my_model
ka = pyamf.register_class(m, m._meta.object_name)
ka.exclude_attrs = ['field1', 'field2']
注:PyAMF中有一个用于m2m字段的文件,您可能需要手动编辑文件
PyAMF/adapters/\u django\u db\u models\u base.py
,第168行
168

class my_model(models.Model):
    field1 = IntegerField()
    field2 = TextField()
    class __amf__:
        exclude = ('field1', )
希望这能帮助和我有同样问题的人

for name, relation in self.relations.iteritems():

    if name in self.exclude_attrs:
        continue
    if '_%s_cache' % name in obj.__dict__:
        attrs[name] = getattr(obj, name)