I am making a browser-based multiplayer game. 
In the game, registered players can "attack" other players. Once a player has "attacked" a player he must wait 30 minutes before his ability to 'attack' again is reset.
I have an idea of implementing this but am not sure if my approach is bad practice:
I thought about adding a "TimeToReset" field in the database to each registered user and fill that field with a timer object. Once a player 'attacks' his 'TimeToReset' field starts counting down from 30 minutes to 0.
and then have the application continuously query all the users in the database with a while True loop, looking for users that their "TimeToReset" reached 0. And then run code to reset their ability to 'attack' again.
I am not sure how efficient my approach or if it is even possible is and would love some input. So to summarize:
1)Is it ok to store a timer/stopwatch object(which continuously changes) in a database?
2)Is it efficient to continuously run a while true loop to query the database?
Or if is there a better approach to implement this feature I would love to hear it.
Thank you
I'm not sure what the benefit of doing this would be. Surely all you need to do is to store the time of the last attack for each user, and just disallow attacks if that is less than 30 minutes before the current time.
Is it bad practice to store a timer object in a database and also have the program continuously query in Django?