簡體   English   中英

如何使用自動完成(Django)從數據庫中檢索數據

[英]How to retrieve data from database with autocomplete (Django)

我需要從數據庫中獲取數據並將其放在輸入字段中,但我做不到。

這是我的代碼。

模板.html

<script type="text/javascript">
    $(function () {
        $("#tags").autocomplete({
            source: "/autocomplete/",
            minLength: 2,
        });
    });
</script>

<div class="ui-widget">
    <input id="tags">
</div>

網址.py

path('autocomplete', views.autocomplete, name='autocomplete'),

視圖.py

def autocomplete(self, request, *args, **kwargs):
    data = request.GET
    product = data.get("term")
    if product:
        products = Product.objects.filter(product_name__icontains=product)
    else:
        products = Product.objects.all()

    results = []

    for pd in products:
        pd_json = {}
        pd_json['id'] = pd.id
        pd_json['label'] = pd.product_name
        pd_json['value'] = pd.product_name
        results.append(pd_json)
    data = json.dumps(results)
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)

模型.py

class Product(models.Model):
    product_name = models.CharField(max_length=255)
    def __str__(self):
        return self.product_name

或者也許是因為我沒有導入一些東西? (比如關於'json'的東西)

換句話說,如果我使用這種方法,我怎樣才能從數據庫中獲取數據到“availableTags”列表中?

<script>
  $( function() {
    var availableTags = [];
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM