我使用
my_classalias = pyamf.register_class(mymodel, mymodel._meta.object_name)使我的django模型成为AMF序列化对象。
但是问题是我的模型包含一个自动创建的名为id的pk字段,但是Flash客户端不能接受这样的字段,有没有办法在PyAMF ClassAlias中删除它?
提前感谢!
发布于 2012-03-30 15:44:31
这是我自己的解决方案:
m = my_model
ka = pyamf.register_class(m, m._meta.object_name)
ka.exclude_attrs = ['field1', 'field2']或者,在您的models.py中
class my_model(models.Model):
field1 = IntegerField()
field2 = TextField()
class __amf__:
exclude = ('field1', )请注意,PyAMF中的m2m字段有一个unpatched bug,您可能需要手动编辑文件pyamf/adapters/_django_db_models_base.py的168行
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)希望这对和我有同样问题的人有所帮助。
https://stackoverflow.com/questions/9797883
复制相似问题