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
10@models.register_model
11class SupportFormEntry(models.Model):
12 user = types.ForeignKeyField(
13 SettingsReference("AUTH_USER_MODEL"),
14 on_delete=models.SET_NULL,
15 allow_null=True,
16 required=False,
17 )
18 name: str = types.CharField(max_length=255)
19 email: str = types.EmailField()
20 message: str = types.TextField()
21 created_at: datetime = types.DateTimeField(auto_now_add=True)
22 form_slug: str = types.CharField(max_length=255)
23 # referrer? source? session?
24 # extra_data
25
26 query: models.QuerySet[SupportFormEntry] = models.QuerySet()
27
28 model_options = models.Options(
29 ordering=["-created_at"],
30 indexes=[
31 models.Index(fields=["created_at"]),
32 ],
33 )