How to visualize values in realitionship model in a drop down flask app builder?

Question:

I am new to flask. I want to show drop down list of types(Type Model) in a form which used to get delivery information. I created following two models and the view in flask. Still I am not getting a drop down list. How do I show those values in a drop down list using following models.

class Types(Model):

    _tablename_ = 'types'
    id = Column(Integer, primary_key=True)
    type = Column(String(100),nullable=False)
    types = relationship('Delivery', backref='deliver_type', lazy= 'dynamic')

    def __repr__(self):
        return self.name

class Delivery(Model):

    _tablename_ = 'delivery'
    id = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)
    type_id = Column(Integer, ForeignKey('types.id'))

And the view is,

class DeliveryModelView(SupersetModelView, DeleteMixin):
    datamodel = SQLAInterface(models.Delivery)
    list_columns = ['name','type']
    search_columns = ['name','type']
    edit_columns = ['name','type']
    add_columns = edit_columns
    label_columns = {
        'name': _("Name"),
        'type': _("Type"),

    }

What do I need to add to the view or if you can give me some examples or tutuorials, I would really appreciate that.(Using Jinja templates)

Asked By: Manura Omal

||

Answers:

I manged to fix that by changing Models only. No need to change the view.I changed the models as follows. Added type_id = Column(Integer, ForeignKey('types.id'), nullable=False), type = relationship('Types') to Delivery Method and remove relationship in Type model. For more info

class Types(Model):

    _tablename_ = 'types'
    id = Column(Integer, primary_key=True)
    name = Column(String(100),nullable=False)

    def __repr__(self):
        return self.name

class Delivery(Model):

    _tablename_ = 'delivery'
    id = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)
    type_id = Column(Integer, ForeignKey('types.id'), nullable=False)
    type = relationship('Types')
Answered By: Manura Omal