Hi,

Will you help me please?

I've got a model called Card which has a ManyToMany relationship to
Tag. When I save a Card, I'd like to create a Product as well, which I
want to have the same ManyToMany relationship to tag.

How do I access the instance's tags? self.tags.all() gives an empty
list, while if I check after saving, the card actually has tags. My
code is below. For the record, I am using Django 1.0.5.

Major thanks!

Wim

class Card(models.Model):
    product     = models.ForeignKey(Product, editable=False,
null=True)
    name       = models.CharField('name', max_length=50, unique=True,
help_text='A short and unique name or title of the object.')
    identifier = models.SlugField('identifier', unique=True,
help_text='A unique identifier constructed from the name of the
object. Only change this if you know what it does.', db_index=True)
    tags       = models.ManyToManyField(Tag, verbose_name='tags',
db_index=True)
    price      = models.DecimalField('price', max_digits=15,
decimal_places=2, db_index=True)

    def add_product(self):
        product = Product(
            name = self.name,
            identifier = self.identifier,
            price = self.price
        )
        product.save()
        return product

    def save(self, *args, **kwargs):
        # Step 1: Create product
        if not self.id:
            self.product = self.add_product()
        # Step 2: Create Card
        super(Card, self).save(*args, **kwargs)
        # Step 3: Copy cards many to many to product
        # How do I do this?
        print self.tags.all() # gives an empty list??


Any help is appreciated
-- 
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