Question : django save vs create
Answered by : mahmoudnoor
Model.save() does either INSERT or UPDATE of an object in a DB,
Model.objects.create() does only INSERT.
Model.save()
UPDATE If the object’s primary key attribute is set to a value that evaluates to True
INSERT If the object’s primary key attribute is not set
or if the UPDATE didn’t update anything
(e.g. if primary key is set to a value that doesn’t exist in the database).
Source : | Last Update : Tue, 02 Aug 22
Question : .save() in django
Answered by : silly-skipper-zb3b8wxf2clr
from __future__ import print_function
from django.db import models
from django.db.models import signals
from django.db.models.signals import pre_save, post_save
from django.dispatch import receiver
__author__ = 'sobolevn'
class CustomManager(models.Manager): def get_queryset(self): super_query = super(models.Manager, self).get_queryset() print('Manager is called', super_query) return super_query
class ExtraObject(models.Model): name = models.CharField(max_length=30) def __unicode__(self): return self.name
class TestModel(models.Model): name = models.CharField(max_length=30) key = models.ForeignKey('ExtraObject') many = models.ManyToManyField('ExtraObject', related_name='extras') objects = CustomManager() def save(self, *args, **kwargs): print('save() is called.') super(TestModel, self).save(*args, **kwargs) def __unicode__(self): # Never do such things (access by foreing key) in real life, # because it hits the database. return u'{} {} {}'.format(self.name, self.key.name, self.many.count())
@receiver(pre_save, sender=TestModel)
@receiver(post_save, sender=TestModel)
def reicever(*args, **kwargs): print('signal dispatched')
Source : https://nullorempty.org/questions/30449960/Django-save-vs-update-to-update-the-database | Last Update : Wed, 02 Mar 22
Question : .save() in django
Answered by : defeated-dogfish-8q9u6aiszc7y
>>> one_entry = Entry.objects.get(pk=1)
Source : https://docs.djangoproject.com/en/3.1/topics/db/queries/ | Last Update : Sun, 11 Oct 20