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