Did people feel that save() was a better solution because it's already
a place where you have to put equivalent functionality for other
fields? I don't know why, but defining my own save() always seems like
a "big deal" that should be reserved for more complex stuff.

What about a new attribute for all fields, something like:
default_condition, where:

- The default is set if default_condition(current_value) is True.
- By default, default_condition is `lambda value: value is None`, this
mimicks current behavior.

So:
  # default_condition is True when created_date is None
  created_date = models.DateTimeField(default=datetime.now)

  # default_condition is always True, equivalent to auto_now=True
  updated_date = models.DateTimeField(default=datetime.now,
                                        default_condition=lambda
value: True)

And it's useful for other fields:

  minimum_of_zero = models.IntegerField(default=0,
                                             default_condition=lambda
value: value < 0)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to