Is it possible to use a form in the admin that is not associated with any model? Only to collect information that will already be used in a particular model. Detailed question with pictures below.
There is an abstract model of the CommonProperty object property, which depends on the Element object:
class Element(models.Model): class Meta: verbose_name = 'Element' verbose_name_plural = 'Elements' name = models.CharField(verbose_name="Name", max_length=255, blank=True, null=True) symbol = models.CharField(verbose_name="Symbol", max_length=255, blank=True, null=True) class CommonProperty(models.Model): class Meta: verbose_name = 'Property element' verbose_name_plural = 'Property elements' abstract = True TYPE = ( (THERMAL, 'thermal'), (PHYSICAL, 'physical'), (CLASSIFICATION, 'classification'), ) NOTATION = ( (DECIMAL, 'decimal'), (SCIENTIFIC, 'scientific'), (STRING, 'string'), ) element = ForeignKey(Element) title = models.CharField(verbose_name="Property title", max_length=255, blank=True, null=True) type = models.CharField(verbose_name="Property type", max_length=50, choices=TYPE) notation = models.CharField(verbose_name="Property notation", max_length=50, choices=NOTATION) CommonProperty contains a type selection (how the value of this property will be written - a decimal number, an engineering record, or just a string). Depending on the type chosen, the corresponding model is used - inheritor CommonProperty
class PropertyDecimalNotation(CommonProperty): class Meta: verbose_name = 'Decimal Notation' value = models.FloatField(verbose_name="Value", blank=True, null=True) unit = models.CharField(verbose_name="Unit", max_length=255, blank=True, null=True) class PropertyScientificNotation(CommonProperty): class Meta: verbose_name = 'Scientific Notation' significand = models.FloatField(verbose_name="Significand", blank=True, null=True) base = models.IntegerField(verbose_name="Base", blank=True, null=True) exponent = models.IntegerField(verbose_name="Exponent", blank=True, null=True) unit = models.CharField(verbose_name="Unit", max_length=255, blank=True, null=True) class PropertyStringNotation(CommonProperty): class Meta: verbose_name = 'Property string notatio' value = models.CharField(verbose_name="Value", max_length=255, blank=True, null=True) unit = models.CharField(verbose_name="Unit", max_length=255, blank=True, null=True) And actually the question
Is it possible to organize the following logic in admin panel?
- Initially, in the admin there is a form for selecting the type and form of the property record. Where we can specify the title of the future property, select the group and the recording format. This is an intermediate form for the abstract CommonProperty model.
Depending on the choice of the recording format (decimal, engineering view or string), after saving the object (or clicking the Add property button) we get a new form, where we fill in the element properties in detail
In the figure, I chose the number engineering format as an example.
Is it possible to organize the form on the fields of an abstract model? And already the data of this form to use when creating the necessary records in the database? please give advice

