Plain is headed towards 1.0! Subscribe for development updates →

 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    )