The way you described has the added advantage of effectively keeping a 
version history. However, if no one is ever going to use this history 
it's just a waste of space. There are two other options I can think of, 
one probably better than the other:
1. Django's cache framework 
(http://www.djangoproject.com/documentation/cache/) should help avoid 
some of the overhead of the DB calls.
2. Triggers - MySQL and Oracle (and probably others) support triggers 
which fire a certain event occurs. You could setup a trigger that fires 
when a new row is inserted into your about table that deletes all rows 
but the new one. In my experience, triggers are a pain to deal with, but 
it's an option.

ocgstyles wrote:
> The client wants certain parts of the site to be editable, I don't
> particularly agree with the logic, simply because why take a DB hit
> (although small) just to grab text from a database for an "About" page
> when that text us USUALLY static.
>
> So thinking of this "About" page, maybe the client just tells a little
> about the business etc, but maybe wants to update it occasionally.  I
> implemented it as a "About" class in a "Section" module.  But with
> that model, you can add multiple "About" texts.  One way I thought of
> doing it was to grab the latest edited object like this:
>
> class About(models.Model):
>    text = models.TextField()
>    pub_date = models.DateTimeField(auto_now=True)
>
> Then just use:
>
> About.objects.order_by('-pub_date')
>
> to retrieve the latest edited version.  So having many versions isn't
> a problem...
>
> Just wondered if there was a better way to handle this.
>
>
> On Jun 14, 2:41 pm, bruno desthuilliers
> <[EMAIL PROTECTED]> wrote:
>   
>> On 14 juin, 15:53, ocgstyles <[EMAIL PROTECTED]> wrote:
>>
>>     
>>> Is there a way create a restriction that will only allow one instance
>>> of a model?
>>>       
>> The closest you could get would be to define a model with a unique not
>> editable field and override the save method to make this field a
>> constant value. But that wont work for direct database access.
>>
>> Anyway, why would you want such a thing ?
>>     
> >   

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@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-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to