byr*_*rdr 3 django django-models
我有一个文章模型,它与目录模型具有一对一的关系。是否可以从文章的保存方法中创建目录实例。我想附加一篇带有同名目录的文章,同时创建它们是最简单的。
这是我的目录类:
class Catalog(models.Model):
name = models.CharField(max_length=100)
price = models.IntegerField
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
文章类别:
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)
Run Code Online (Sandbox Code Playgroud)
我想要在保存方法中使用一些与此类似的逻辑:但我不确定是否可能
cat = Catalog.create(title = self.title)
cat.save()
Run Code Online (Sandbox Code Playgroud)
您可以在创建文章对象时使用post_save信号来创建目录对象。这将确保创建目录对象,而不必在文章模型的保存方法中包含不相关的代码。
from django.db.models.signals import post_save
# method for updating
def create_catalog(sender, instance, created, **kwargs):
if instance and created:
#create article object, and associate
post_save.connect(create_catalog, sender=Article)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4047 次 |
| 最近记录: |