मेरे पास एक मॉडल फ़ाइल है जो post_save
सिग्नल का उपयोग किसी अन्य तालिका में एक लिंक पंक्ति बनाने के लिए करती है। सामान्य रूप से, मैं अपने विचारों में से एक पृष्ठ बना सकता हूं जो @ banking.atomic से सजाया गया है।क्या डीजेंगो संकेत भी लेनदेन के अंदर शामिल हैं। सैटिक सजावटी?
मैं जानना चाहता हूं कि यह सजावटी पृष्ठ ऑब्जेक्ट और साझा लेनदेन ऑब्जेक्ट को उसी लेनदेन में रखेगा या नहीं। यह django दस्तावेज़ों से स्पष्ट नहीं है कि सिग्नल इस परमाणु लेनदेन का हिस्सा हैं।
models.py
class Page(models.Model):
name = models.CharField(default='My default page',max_length=200,blank=False)
created_at = models.DateTimeField(auto_now_add=True)
owner = models.ForeignKey(User, on_delete=models.CASCADE)
slug = models.SlugField()
uuid = models.UUIDField(default=uuid.uuid4, editable=False)
is_public = models.BooleanField(default=False)
def __str__(self): # __unicode__ on Python 2
return self.name
class Meta:
ordering = ['position','created_at']
@receiver(post_save, sender=Page)
def create_shared_page_entry(sender, instance, created, **kwargs):
if created:
shared_page = SharedPage.objects.create(
page=instance,
user=instance.user,
can_edit=True
)
view.py
@require_http_methods(["POST"])
@transaction.atomic
def page_create(request):
name = request.POST.get('name')
page = Page.objects.create(name=name, owner=request.user)
data = serializers.serialize("json", [page])
return HttpResponse(data, content_type='application/json')