1from __future__ import annotations
2
3from datetime import datetime
4
5from plain import models
6from plain.models import types
7from plain.runtime import SettingsReference
8
9__all__ = ["SupportFormEntry"]
10
11
12@models.register_model
13class SupportFormEntry(models.Model):
14 user = types.ForeignKeyField(
15 SettingsReference("AUTH_USER_MODEL"),
16 on_delete=models.SET_NULL,
17 allow_null=True,
18 required=False,
19 )
20 name: str = types.CharField(max_length=255)
21 email: str = types.EmailField()
22 message: str = types.TextField()
23 created_at: datetime = types.DateTimeField(auto_now_add=True)
24 form_slug: str = types.CharField(max_length=255)
25 # referrer? source? session?
26 # extra_data
27
28 query: models.QuerySet[SupportFormEntry] = models.QuerySet()
29
30 model_options = models.Options(
31 ordering=["-created_at"],
32 indexes=[
33 models.Index(fields=["created_at"]),
34 ],
35 )