Hello,

I have two models, 1) FlashCard and 2) Practice, and I have a generic relation
in the FlashCard model pointing to the Practice model using the contenttypes
framework.
The Practice model tracks information like how many times something was
practiced, and calculates an `easy factor'.
Each time I save a FlashCard I want at the same time to create Practice
object for the flashcard, automatically.


class Practice(models.Model):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    item = generic.GenericForeignKey('content_type', 'object_id')

    user = models.ForeignKey(User)


class FlashCard(models.Model):
    """
    A basic Flashcard.

    Has a front and a back view.
    """
    front = models.TextField(
                    max_length = 255,
                    verbose_name = "Front")
    back = models.TextField(
                    max_length = 255,
                    verbose_name = "Back")
    user = models.ForeignKey(User)
    practice = generic.GenericRelation(Practice)


I read the contenttypes documentation, and as far as I understand to create a
related Practice object for a flashcard instance I should do the following:

>>> user = User.objects.get(username="kenny")
    # Create a sample flashcard
>>> flashcard = ("bla", "bla", user)
    # ...and create a Practice object for it
>>> new_practice = Practice(item=flashcard)
    # then I try to save it, but that fails with a large backtrace
>>> new_practice.save()
[snip]

Here the actual backtrace: http://dpaste.com/hold/272617/


Well, but this is not the reason I opened this thread. Still I want to create
Practice object for my FlashCard object.

I started a research on Google, but I really haven't found anything really
helping me to do that.

Can you guys give me a helping hand on this with your expertise, please?

Additional information about my environment:
  - Django 1.2.3
  - PostgreSQL 8.4.5

Cheers,
Kenny

-- 
- Kenny Meyer <knny.m...@gmail.com>
To understand recursion, we must first understand recursion.
--

Attachment: pgp3RUd4A9RGp.pgp
Description: PGP signature

Reply via email to