Maybe this helps: 
http://groups.google.com/group/django-multilingual/browse_thread/thread/a8f521068ab5e0a4

On 23 Jun., 14:08, Marco Bazzani <alfred.einst...@gmail.com> wrote:
> ok this is a little bit complex problem (at least for me)
>
> let's supose that I've a model like this one:
>
> class News(models.Model):
>     name = CharField(max_length=200, unique=True)
>     body  = TextField()
>
> usually I put a slug field like this one
>
>    slug = CharField(max_length=200, unique=True, blank=True)
>
> and instead of using models.Model as parent class I use this one:
>
> class UniqueSlugFromName(models.Model):
>     class Meta:
>         abstract = True
>     def save(self):
>         """Auto-populate an empty slug field from the MyModel name and
>         if it conflicts with an existing slug then append a number and try
>         saving again.
>         name = original
>         slug = the slug
>         """
>         if not self.slug:
>             self.slug = slugify(self.name)  # Where self.name is the
> field used for 'pre-populate from'
>
>         while True:
>             try:
>                 super(UniqueSlugFromName, self).save()
>             # Assuming the IntegrityError is due to a slug fight
>             except IntegrityError:
>                 match_obj = re.match(r'^(.*)-(\d+)$', self.slug)
>                 if match_obj:
>                     next_int = int(match_obj.group(2)) + 1
>                     self.slug = match_obj.group(1) + '-' + str(next_int)
>                 else:
>                     self.slug += '-2'
>             else:
>                 break
>
> so the Model class is now something like this:
>
> class News(models.Model):
>     name = CharField(max_length=200, unique=True)
>     body  = TextField()
>     slug = CharField(max_length=200, unique=True, blank=True)
>
> in this way every slug field is populated with the slugify version of
> the name field.
>
> now I need to translate the 2 fields name and body so instead of the
> above class I change this like this one
>
> class News(models.Model):
>     slug = CharField(max_length=200, unique=True, blank=True)
>     class Translation(multilingual.Translation):
>         name = CharField(max_length=200)
>         body  = TextField()
>
> but now the slug field is populated with the value of "none" I think
> because the value of the fields is not yet in the database
> moreover I should need translatable slug too so I can request the page
> with all its urls for example
>
> /news/hello-I-am-a-news/  -> content in english
> /news/sono-una-news/ -> content in italian
>
> is there a way to solve this problem ?
> cheers
>      Marco

--~--~---------~--~----~------------~-------~--~----~
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 
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