Inforian
Inforian

Reputation: 1736

Issues about database queries in django

I want to get last inserted id for current user from database.I know i can get last inserted row in a table from this query last_inserted_id = User.objects.order_by('-id')[0]

But if there multiple users who are logged in to site at same time than how can I get the last inserted data for the current user.

Upvotes: 0

Views: 56

Answers (2)

Rickard Zachrisson
Rickard Zachrisson

Reputation: 985

I'm not sure I understand fully what you mean with "last inserted id for current user". But here is an example:

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

user.save()

print user.id # prints 10 if userid is 10

Upvotes: 0

dani herrera
dani herrera

Reputation: 51645

To get last inserted data for the current user you should store a reference to the user in each model:

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

Then you should remember to populate this property when you create a new model.

To retrieve last inserted data for this user:

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

Perhaps you can authomatize audits in some way. See Full Model History snippet for ideas.

Upvotes: 2

Related Questions