я создаю объект модели, используя пользовательский метод создания create_actor
как это:Джанго сохранить и вернуть объект сразу (с настраиваемой рк)
class ActorsManager(models.QuerySet):
def create_actor(self, email,
actortype,
locationid,
primaryphone, actoruniversalid):
actor = self.model(email=email,
actortype=actortype,
locationid = locationid,
primaryphone=primaryphone, actoruniversalid= actoruniversalid)
actor.save(using='gpr')
return actor
actor_entry = Actors.objects.using('gpr').create_actor(email='', actortype=1, locationid = location_entry,primaryphone='', actoruniversalid= new_bluenumber)
Я не получаю недавно созданный объект в actor_entry
переменной , Возможно, я делаю что-то неправильно, пожалуйста, помогите.
Я использую перед вставкой SQL-триггер для генерации uuid как pk (CharField здесь) в базе данных, поэтому перед его сохранением объект имеет pk (сгенерированный базой данных).
Актеры Модель
class Actors(models.Model):
actorid = models.CharField(db_column='ActorID', primary_key=True, max_length=255) # Field name made lowercase.
actoruniversalid = models.CharField(db_column='ActorBluenumber', unique=True, blank=True, null=True, max_length=254)
......
......
objects = ActorsManager.as_manager()
class Meta:
managed = False
db_table = 'actors'
Что вы * получаете? Is - нулевой объект или что-то еще? – solarissmoke
Его экземпляр объектов Actors, но с полями, которые я дал i.e ** email = '', actortype = 1, actorid (pk here) = '' **. Но не тот, который вернулся после сохранения, так как тогда он должен дать pk. – kapilsdv
Можете ли вы показать свою модель? – knbk