1from plain import models
2
3
4@models.register_model
5class Session(models.Model):
6 session_key = models.CharField(max_length=40)
7 session_data = models.JSONField(default=dict, required=False)
8 created_at = models.DateTimeField(auto_now_add=True)
9 expires_at = models.DateTimeField(allow_null=True)
10
11 model_options = models.Options(
12 indexes=[
13 models.Index(fields=["expires_at"]),
14 ],
15 constraints=[
16 models.UniqueConstraint(fields=["session_key"], name="unique_session_key")
17 ],
18 )
19
20 def __str__(self) -> str:
21 return self.session_key