首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PyAMF ClassAlias中删除django字段

从PyAMF ClassAlias中删除django字段
EN

Stack Overflow用户
提问于 2012-03-21 10:37:02
回答 1查看 72关注 0票数 0

我使用

代码语言:javascript
复制
my_classalias = pyamf.register_class(mymodel, mymodel._meta.object_name)

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

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

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-30 15:44:31

这是我自己的解决方案:

代码语言:javascript
复制
m = my_model
ka = pyamf.register_class(m, m._meta.object_name)
ka.exclude_attrs = ['field1', 'field2']

或者,在您的models.py

代码语言:javascript
复制
class my_model(models.Model):
    field1 = IntegerField()
    field2 = TextField()
    class __amf__:
        exclude = ('field1', )

请注意,PyAMF中的m2m字段有一个unpatched bug,您可能需要手动编辑文件pyamf/adapters/_django_db_models_base.py168

代码语言:javascript
复制
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)

希望这对和我有同样问题的人有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9797883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档