I'm trying to save a model and then insert it into a generic relation.
Having this models.py file:
from django.db import models
from datetime import datetime
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from django.db.models.signals import post_save
STATUSCHOICE = (
('d', 'Working draft'),
('p', 'Publish!')
)
# Create your models here.
class Tag(models.Model):
name = models.CharField(max_length=20, unique=True)
def __unicode__(self):
return self.name
class PostBase(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField()
tags = models.ManyToManyField(Tag, null=True)
status = models.CharField(max_length=1, choices=STATUSCHOICE)
def clean(self):
self.pub_date = datetime.now()
class Meta:
abstract = True
def __unicode__(self):
return self.title
class Post(PostBase):
pass
class Review(PostBase):
image = models.ImageField(upload_to="blog/upload")
class BlogContent(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
class Comment(models.Model):
content = models.CharField(max_length=300)
pub_date = models.DateTimeField()
email = models.EmailField()
name = models.CharField(max_length=30)
post = models.ForeignKey(Post)
# Signals
def post_save_callback(sender, instance, **kwargs):
bc = BlogContent(content_object=instance)
bc.save()
post_save.connect(post_save_callback)
The problem occurs when creating a Post model and saving it:
p = Post(title="foobar", ....)
p.save()
I get the following error message:
RuntimeError: maximum recursion depth exceeded
The problem should be located in the post_save_callback function.
Kind regards,
Jonas Geiregat
[email protected]
--
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.