Hello, 

I realize this post is from 2010, but I also had this problem as of July 12 
2012. It's still one of the first results in a search for the error, so I'm 
posting for future googlers. 

According to the Django Model 
reference<https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs>,
 
you should avoid overriding the __init__ method when inheriting from Model, 
especially if the signature changes. They recommend to instead add a custom 
manager to handle this. 

On Monday, July 5, 2010 7:51:51 PM UTC-7, jcage wrote:
>
> Hi everyone. I'm quite new to python and django. I was wondering if 
> anyone could shed some light on this topic : 
>
> My models.py contains the classes QuestionSet and Question, which 
> inherits the former. 
> In the shell, I define a Question object as follows 
>
> q1 = Question(script = "How are you?", comment = "no comment", order = 
> 1) 
>
>
> but an attempt to run q1.save() results in the following error : 
>
> >>> q1.save() 
> Traceback (most recent call last): 
>   File "<console>", line 1, in <module> 
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
> python2.6/site-packages/django/db/models/base.py", line 435, in save 
>     self.save_base(using=using, force_insert=force_insert, 
> force_update=force_update) 
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
> python2.6/site-packages/django/db/models/base.py", line 447, in 
> save_base 
>     using = using or router.db_for_write(self.__class__, 
> instance=self) 
>   File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
> python2.6/site-packages/django/db/utils.py", line 133, in _route_db 
>     return hints['instance']._state.db or DEFAULT_DB_ALIAS 
> AttributeError: 'Question' object has no attribute '_state' 
>
>
>
> The class definitions are : 
>
> class QuestionSet(models.Model): 
>     title = models.CharField(max_length=100) 
>     description = models.TextField() 
>     order = models.IntegerField() 
>
>     def __init__(self, *args, **kwargs): 
>         self.title = kwargs.get('title','Default Title') 
>         self.description = kwargs.get('description', 'DefDescription') 
>         self.order = kwargs.get('order', 0) 
>
>
> class Question(QuestionSet): 
>     script = models.CharField(max_length=200) 
>     comment = models.TextField() 
>
>
>     def __init__(self, *args, **kwargs): 
>         QuestionSet.__init__(self, args, kwargs) 
>         self.script = kwargs.get('script', "undefined") 
>         self.comment = kwargs.get('comment', "no comment") 
>
>
>
>
> Would greatly appreciate any suggestions

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/S6Q6RbkKMNYJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to