Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于django模型在android中实现自动完成_Android_Python_Django_Autocomplete - Fatal编程技术网

基于django模型在android中实现自动完成

基于django模型在android中实现自动完成,android,python,django,autocomplete,Android,Python,Django,Autocomplete,我正在尝试在我的android应用程序中创建一个由Django后端支持的自动完成框。我在Django有一个模型,我有很多行(~5k)。我希望能够在我的android应用程序中根据名称(一行中的字段)自动完成搜索。最好的方法是什么 一些细节- 行中的详细信息可能会不时更改。 新的行添加将更加频繁 我曾经想过发送一个queryset(当用户打开一个应用程序时包含所有对象)会很慢,并且会消耗大量数据 我不知道如何连续发出请求并及时处理响应,以便在不使服务器过载的情况下填充自动完成框 任何帮助都将不胜感

我正在尝试在我的android应用程序中创建一个由Django后端支持的自动完成框。我在Django有一个模型,我有很多行(~5k)。我希望能够在我的android应用程序中根据名称(一行中的字段)自动完成搜索。最好的方法是什么

一些细节- 行中的详细信息可能会不时更改。 新的行添加将更加频繁

我曾经想过发送一个queryset(当用户打开一个应用程序时包含所有对象)会很慢,并且会消耗大量数据

我不知道如何连续发出请求并及时处理响应,以便在不使服务器过载的情况下填充自动完成框


任何帮助都将不胜感激。

制作一个API,android应用程序将定期调用该API,它将提供数据库中的所有更新数据。API的输入将是最后一次API调用时间。因此,API将提供该日期时间的更新对象。为此,您需要在模型中添加一个字段,即:

class YourModel(models.Model):
    last_updated = models.DateTimeField(auto_now=True)
    # Rest of the fields.
因此,当您使用上次API调用时间点击API时,您将在后端运行此查询:

query = YourModel.objects.filter(last_updated__gte = last_api_call_time)

然后将所有更新的数据存储在android应用程序的数据库中。然后调用android应用程序数据库内的搜索。这样做的好处是,你不必每次有人在你的应用程序的搜索框中键入单词时都调用API。

使用ajax并在3个字符后开始提出建议,最多20条建议?