2012-12-21 91 views
0

我想從數據庫中獲取當前用戶的最後一個插入的ID。我知道我可以從此查詢中得到最後插入的一行表中的內容last_inserted_id = User.objects.order_by(' - id') [0]關於django數據庫查詢的問題

但是,如果有多個用戶在同一時間登錄到站點,而不是如何獲取當前用戶的最新插入數據。

回答

2

可獲取最後插入的數據爲當前用戶,你應該存儲在各型號的用戶參考:

class Album(models.Model): 
    artist = models.ForeignKey(Musician) 
    name = models.CharField(max_length=100) 
    release_date = models.DateField() 
    num_stars = models.IntegerField() 
    inserted_by = models.ForeignKey(User, ...) #here 

那麼你應該記住,當你創建一個新的模式來填充這個屬性。

爲此用戶檢索最後插入的數據:

Album.objects.filter(inserted_by = request.user).order_by('-id')[0] 

也許你能以某種方式authomatize審計。有關想法,請參閱Full Model History snippet

0

我不確定我完全理解你的意思是「最近插入的當前用戶ID」。但這裏是一個例子:

user = User.objects.get(pk=1) 

user.save() 

print user.id # prints 10 if userid is 10