Hi all,
i'm trying to do a simple task with Django but evidently it is not so
simple...

I have my model:

class Mymodel(models.Model):
    random_string = models.CharField(max_length=200)

    def produce_string(self):
         a = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "L", "M",
            "N", "O", "P", "Q", "R", "S", "T", "U", "V", "Z", "0",
"1", "2", "3", "4", "5", "6", "7", "8", "9"]
        num = ""
        random.shuffle(a)
        for x in a[:8]:
            num = num + x
        self.random_string= num

What i'd like to do is having a random string stored into my new
object as soon as i'll create my object. To do that i've inserted this
method into previous code:

 def __init__(self,*args, **kwargs):
        super(Mymodel, self).__init__(*args, **kwargs)
        self.produce_string()

So running django's shell, everything seems to work fine...

from test.testing.modules import Mymodel
m = Mymodel()
m.random_string
> "23467.."
m.save()
>OK

But if i try to get all objects saved into my db (so using
Mymodel.objects.all()) what i get is a different result every time i
run this command.
What i've noticed is that Mymodel.objects.all() run "__init__" method
inside my class, so what i got as results is everytime a different
results set (random_string is not the one stored into db but a random
one produced by produce_string method).

What's wrong with this code? Am i missing something?

Many thanks in advance

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