1
我有一個文章模型,它與Catalog模型具有OnetoOne關係。是否可以從文章的保存方法中創建Catalog的實例?我想用同名的目錄附上文章,最簡單的做法是同時創建這些文章。Django從另一個模型保存方法創建模型的實例
這裏是我的目錄類:
class Catalog(models.Model):
name = models.CharField(max_length=100)
price = models.IntegerField
def __unicode__(self):
return self.name
文章類別:
class Article(models.Model):
catalog = models.OneToOneField(Catalog, related_name='article_products', blank=True, null=True)
title = models.CharField(max_length=200)
abstract = models.TextField(max_length=1000, blank=True)
full_text = models.TextField(blank=True)
proquest_link = models.CharField(max_length=200, blank=True, null=True)
ebsco_link = models.CharField(max_length=200, blank=True, null=True)
def __unicode__(self):
return unicode(self.title)
def save(self, *args, **kwargs):
self.full_text = self.title
super(Article, self).save(*args, **kwargs)
我想保存方法中類似這樣的一些邏輯:我不知道這是否是可能的雖然
cat = Catalog.create(title = self.title)
cat.save()
我用了一個稍微不同的方法,但這讓我走上了正確的軌道。謝謝 @receiver(post_save,sender = Article) def create_catalog(sender,** kwargs): if kwargs.get('created',False): Catalog.objects.get_or_create(name = kwargs.get('instance '),價格= '10') – byrdr 2014-11-01 13:31:43