On Tue, 2009-09-22 at 08:13 -0700, PlanetUnknown wrote:
> I'm sure I'm missing something simple here, since its a common flow -
> 
> 1.) e.g. model Person - has 4 fields -
>     person_id = models.AutoField(primary_key=True)
>     person_name = models.CharField(max_length=50)
>     comments = models.TextField(blank=True)
>     create_dt = models.DateTimeField(auto_now_add=True)
>     modify_dt = models.DateTimeField(auto_now_add=True)
>     class Meta:
>           unique_together = ("person_id", "person_name")
> 
> 2.) When I save a new person, everything works normal, since I'm
> giving -
> p1 = Person(person_id=None, person_name=personNameArg,
> comments=pComment)
> 
> 3.) After this save is performed, I have the "person_id" of this
> person. When someone hits save again, I do this -
> 
> p1 = Person(person_id=personIdArg, person_name=personNameArg,
> comments=pComment)
> where personIdArg is the earlier saved id.
> 
> I get the error - "create_dt cannot be Null", I see that dJango is
> correctly trying to update, but since I didn't pass create_dt, it is
> setting it to NULL in the update query.
> 
> I just want it to be left alone, since it already has a value. Is
> there a way to tell django to not touch these fields ?
> 
> Thanks!

It isn't that common; I haven't got that in any of my views.

The canonical way to update an item, AFAICT, is like so:

foo = Foo.objects.get(pk=foo_id)
foo.field = new_value
foo.save()

Cheers

Tom


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" 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-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to