[Python] Django JSONFIeld's widget for data input in format: forms.Select (key) -...

Discussão em 'Python' iniciado por Stack, Maio 2, 2025.

  1. Stack

    Stack Membro Participativo

    I have a hard times to implement "user friendly" JSON input within a form.

    I have some Item model which contains attributes = JSONFIeld().

    class ItemType(models.Model):
    title = models.CharField()

    class Item(models.Model):
    title = models.CharField()
    item_type = models.ForeignKey(ItemType)
    attributes = models.JSONField()


    To keep particular "schema" within a single ItemType I've added models:

    class ItemAttribute(models.Model):
    title = models.CharField(max_length=100, unique=True)

    class ItemAttributeSpec(models.Model):
    item_type = models.ForeignKey(ItemType)
    attribute = models.ForeignKey(ItemAttribute)
    required = models.BooleanField(default=False)
    choices = models.JSONField(default=list)


    So a goal for implementation: Provide a set of attributes' key/value pairs where key of JSON field will be forms.Select() or just label (doesn't matter much as I can manage implementation of this feature) and value is an input. So every single Item form instance would has all type-related attributes for input. Generally some kind of formset within a single form instance.

    Something like this: [​IMG]

    Continue reading...

Compartilhe esta Página