#10247: problem with model constructor override
------------------------------------------+---------------------------------
Reporter: azymnis | Owner: nobody
Status: new | Milestone:
Component: Database layer (models, ORM) | Version: 1.0
Keywords: | Stage: Unreviewed
Has_patch: 0 |
------------------------------------------+---------------------------------
I am in a situation where I want to create a model instance from another
object. For this reason, I am trying to override the Model constructor so
that it can take an object as an argument. However, this does not seem to
work properly, since after I save, I cannot access the data with the
object manager. Here is an example. Suppose my models.py code is:
{{{
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=40)
last_name = models.CharField(max_length=40)
def __init__(self,datadict):
models.Model.__init__(self,
first_name = datadict['first_name'],
last_name = datadict['last_name'])
}}}
Then, when this is what happens when I use this:
{{{
>>>from cddbase.models import Person
>>>data_dict = {'first_name': 'Rob', 'last_name': 'Smith'}
>>>person = Person(data_dict)
>>>person.save()
>>>Person.objects.all()
[]
}}}
So basically the Person.save() method is not working... However, the
Person class is created correctly. One thing that I noticed is that the
SQL seems to be wrong. It issues and UPDATE rather than an INSERT command,
even though the row in the table does not exist.
Any ideas what I can do?
Thanks,
Argyris
--
Ticket URL: <http://code.djangoproject.com/ticket/10247>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---