[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pyamf-tickets
Subject:    [pyamf-tickets] #764: Django adapter blows up with writable class
From:       PyAMF list for bug and patch messages <tickets () pyamf ! org>
Date:       2010-04-21 9:09:52
Message-ID: 036.a03469bd115a2b29a7f82d9b44b8a041 () pyamf ! org
[Download RAW message or body]

#764: Django adapter blows up with writable class properties
---------------------+------------------------------------------------------
 Reporter:  nick     |       Owner:  nick 
     Type:  defect   |      Status:  new  
 Priority:  major    |   Milestone:  0.6  
Component:  Adapter  |     Version:  0.5.1
 Keywords:           |    Revfixed:       
   Branch:           |      Author:       
---------------------+------------------------------------------------------
 {{{
 #!python
 class Sprint(models.Model):
         name = models.CharField(max_length=100)
         products = models.ManyToManyField(Product)
         project = models.ForeignKey(Project, blank=True, null=True)

         def getDays(self):
                 return pyamf.flex.ArrayCollection(self.day_set.all())

         def setDays(self, value):
                 pass

         days = property(getDays, setDays)

         def getProducts(self):
                 return pyamf.flex.ArrayCollection(self.products.all())

         def setProducts(self, value):
                 pass

         sprintProducts = property(getProducts, setProducts)

         class __amf__:
                 #proxy = ('products',)
                 exclude = ('products',)

         def __unicode__(self):
                 return self.name
 }}}

 Errors with:

 {{{
 #!python
 Traceback (most recent call last):
   File
 "/home/pythonPackages/django-1.2-759/pyamf/remoting/gateway/django.py",
 line 108, in __call__
     timezone_offset=timezone_offset)
   File "/home/pythonPackages/django-1.2-759/pyamf/remoting/__init__.py",
 line 658, in decode
     target, payload = _read_body(stream, decoder, strict, logger)
   File "/home/pythonPackages/django-1.2-759/pyamf/remoting/__init__.py",
 line 471, in _read_body
     data = _read_args()
   File "/home/pythonPackages/django-1.2-759/pyamf/remoting/__init__.py",
 line 448, in _read_args
     return [decoder.readElement() for i in xrange(x)]
   File "/home/pythonPackages/django-1.2-759/pyamf/__init__.py", line 967,
 in readElement
     return func()
   File "/home/pythonPackages/django-1.2-759/pyamf/amf0.py", line 300, in
 readAMF3
     element = decoder.readElement()
   File "/home/pythonPackages/django-1.2-759/pyamf/__init__.py", line 967,
 in readElement
     return func()
   File "/home/pythonPackages/django-1.2-759/pyamf/amf3.py", line 1016, in
 readObject
     self._readStatic(class_def, obj_attrs)
   File "/home/pythonPackages/django-1.2-759/pyamf/amf3.py", line 968, in
 _readStatic
     obj[attr] = self.readElement()
   File "/home/pythonPackages/django-1.2-759/pyamf/__init__.py", line 967,
 in readElement
     return func()
   File "/home/pythonPackages/django-1.2-759/pyamf/amf3.py", line 907, in
 readArray
     result.append(self.readElement())
   File "/home/pythonPackages/django-1.2-759/pyamf/__init__.py", line 967,
 in readElement
     return func()
   File "/home/pythonPackages/django-1.2-759/pyamf/amf3.py", line 1020, in
 readObject
     alias.applyAttributes(obj, obj_attrs, codec=self)
   File "/home/pythonPackages/django-1.2-759/pyamf/__init__.py", line 796,
 in applyAttributes
     attrs = self.getDecodableAttributes(obj, attrs, codec=codec)
   File
 "/home/pythonPackages/django-1.2-759/pyamf/adapters/_django_db_models_base.py",
 line 188, in getDecodableAttributes
     f = self.fields[n]
 KeyError: 'days'
 }}}

-- 
PyAMF - Ticket URL: <http://dev.pyamf.org/ticket/764>
_______________________________________________
PyAMF tickets mailing list - tickets@pyamf.org
http://lists.pyamf.org/mailman/listinfo/tickets
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic