在Django中自动填充数据库中的字段

时间:2019-02-04 16:59:03

标签: django python-3.x django-models django-forms django-views

models.py

class InfraServiceInfo(db.Model):

    app_name = db.CharField(choices=VIEW_APP_CHOICES, max_length=1000)
    stack = db.CharField(max_length=1000)
    description = db.TextField('InfraServiceInfo', choices=VIEW_DESC_CHOICES)

说明与InfraServiceInfo表中的每个app_name相关联。 由于app_name是一个下拉列表,因此当选择特定的app_name时,应在表格中自动填充与该app_name相关的相应描述。

示例:app_name =“ test”,描述=“ testing”  和app_name =“ test2”,描述=“ testing2”。 当用户从下拉列表中选择测试时,说明应自动填充测试字符串。我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为您需要使用不同的url视图来提供您选择的InfraServiceInfo,以便在其中显示选择的描述。

说您的网址就像

网址
url(r'^infraServiceInfo/$', 'myapp.views.infraServiceInfo', name='InfraServiceInfo'),
url(r'^infraServiceInfo/(?P<slug>[\w-]+)/$', 'myapp.views.infraServiceInfo_detail', name='InfraServiceInfo_detail'),

在您的infraServiceInfo_detail

def infraServiceInfo_detail(request, app_name):

    description = InfraServiceInfo.objects.get(app_name=app_name).description
    app_names = InfraServiceInfo.objects.values_list('app_name', flat=True)
    return render(request, 'your_render.html', {'description': description, 'app_names': app_names})