我創建使用自定義創建方法create_actor
這樣的模型對象:Django的保存,並立即返回對象(自定義PK)
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 here),因此該對象在保存之前有一個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'
你得到了什麼*是一個空對象還是其他的東西? – solarissmoke
它是Actors對象的一個實例,但是我給出的字段是** email ='',actortype = 1,actorid(pk here)=''**。但不是保存後返回的那個,因爲它應該給pk。 – kapilsdv
你能展示你的模型嗎? – knbk