如何为M2M Djang分页

2024-09-28 19:21:14 发布

您现在位置:Python中文网/ 问答频道 /正文

class Movie(models.Model):
    title= models.CharField(max_length=100,)
    votes=models.IntegerField(null=True)
    year=models.IntegerField(null=True)
    aspect_ration=models.CharField(max_length=50,)
    mpaa=models.CharField(max_length=200,)
    rating =models.CharField(max_length=20,)
    imdbid=models.CharField(max_length=50,)
    top_250_rank=models.IntegerField(null=True)
    cover_url=models.CharField(max_length=500,)
    plot_outline=models.TextField(blank=True, null=True)
    summary= models.TextField(blank=True, null=True)
    pub_date = models.DateTimeField(null=True, blank=True,default=datetime.today())
    akas_id = models.ManyToManyField('Akas', verbose_name=u'Akas ID',related_name="Akas_M2M_Movie")


class Akas(models.Model):
     name=models.CharField(max_length=500,)
     def __unicode__(self):
        return u'%s' % (self.name)
     class Meta:
         verbose_name = 'Other Movie Title'
         verbose_name_plural = 'Other Movie Titles'
    db_table = 'Akas'

在'Akas'表中,我有2225188条记录,因此更改视图需要很长时间来加载此字段。解决这个问题的办法是什么?我可以为m2m小部件分页吗?在

有谁能帮忙解决这个问题吗?在py管理员我正在使用过滤器_horizontal=['Akas',] Image showing Bellow for the Aka Table


Tags: nametrueverbosemodelmodelsmovienulllength
1条回答
网友
1楼 · 发布于 2024-09-28 19:21:14

对于多对多字段,甚至在本例中,使用自定义小部件比缺省小部件更好。由于有大量的Akas实例,HTML页面本身变得非常大,因此需要花费时间来加载。在

您可以自己创建一个自定义小部件,并进行分页。尽管我的建议是使用自动完成小部件。您可以查找现有的django包here,并使用适合您需要的包。这里的基本思想是使用ajax请求从服务器动态获取数据,而不是一次加载所有内容。在

相关问题 更多 >