私はバックエンドとして高速のカスタムIoT APP Web用にF.A.Bを使用します。My Flask-AppBuilderプロジェクトでは、名前の代わりに関連テーブルのIDのみが表示されます。なぜですか?
F.A.Bチュートリアルとドキュメントのサンプルプロジェクトであるhttp://127.0.0.1:5000/contactmodelview/list/ ContactViewリストページを実行すると、連絡先グループはidの代わりに黒で名前として表示されます。
私はデザインをクローン化し、1があります:Nの関係(CONTACTGROUPと同じには多くの接点を持っているように、1つのアカウントは、多くのデバイスを持っている)、ここでのコードは次のとおりです。
models.py
しかしviews.pyclass DeviceView(ModelView):
datamodel = SQLAInterface(Device)
related_views = [ApplicationView, EventView]
label_columns = {'snr':'SNR', 'api_dev_id':'Device ID', 'owner_id':'Owner'}
list_columns = ['snr','name','addr','owner_id']
show_fieldsets = [
('Summary',
{'fields':['snr','name','owner_id']}
),
('Device Info',
{'fields':'addr','latitude','longitude','status','api_id','api_key','api_dev_id','api_dev_key'],'expanded':True}
),
]
class AccountView(ModelView):
datamodel = SQLAInterface(Account)
related_views = [DeviceView]
class Account(Model):
id = Column(Integer, primary_key = True)
username = Column(String(128), unique = True)
password = Column(String(128))
email = Column(String(128))
oauth = Column(String(128))
cellphone = Column(String(32))
def __repr__(self):
return self.username
class Device(Model):
id = Column(Integer, primary_key = True)
snr = Column(String(256), unique = True)
name = Column(String(128))
addr = Column(String(256))
latitude = Column(Float)
longitude = Column(Float)
status = Column(Integer)
api_id = Column(String(512))
api_key = Column(String(256))
api_dev_id = Column(String(256), unique = True)
api_dev_key = Column(String(256))
owner_id = Column(Integer, ForeignKey('account.id'))
owner = relationship("Account")
def __repr__(self):
return self.name
、リストDeviceViewの関連IDが青色で表示され、No Account nameが表示されます。ただし、DeviceDetailビューでは、アカウント名が表示されます。
の違いは何ですか?