使用Django模型进行连接采样

使用Django模型进行连接采样,django,django-models,Django,Django Models,我的一个模型中有一个方法,现在可以获取每个链接,然后进行随机抽样。是否可以使用Django模型将某种形式的连接与随机选择结合起来?当前的方法似乎是浪费时间的好方法,当数据增长时,会使应用程序停止 类链接(models.Model): link=models.URLField() in_list=models.ForeignKey('linkrotator.LinkList', 相关_名称='链接') 类链接列表(models.Model): in_list=models.ForeignKey('

我的一个模型中有一个方法,现在可以获取每个链接,然后进行随机抽样。是否可以使用Django模型将某种形式的连接与随机选择结合起来?当前的方法似乎是浪费时间的好方法,当数据增长时,会使应用程序停止

类链接(models.Model):
link=models.URLField()
in_list=models.ForeignKey('linkrotator.LinkList',
相关_名称='链接')
类链接列表(models.Model):
in_list=models.ForeignKey('linkrotator.LinkListList',
空白=真,
空=真,
on_delete=models.SET_NULL,
相关_名称=‘列表’)
类链接列表(models.Model):
链接的数量=models.IntegerField()
def get_链接(自):
链接=[]
对于self.lists.all()中的列表:
links.extend(list.links.all())

如果len(links)您可以得到一组如下的随机链接:

links = self.lists.all().order_by('?')[self.number_of_links]

但是。。。这不会在你想要的列表中过滤。您可能可以这样做来获得:
filter(list\u set\u id\u in=…)
您可以获得一组这样的随机链接:

links = self.lists.all().order_by('?')[self.number_of_links]

但是。。。这不会在你想要的列表中过滤。您可能可以这样做:
filter(list\u set\u id\u in=…)
我认为它对

有用我认为它对

有用为什么需要迭代所有列表?难道你不能获取所有与列表相关联的链接吗?类似于
links=Link.objects.filter(list\uu isnull=False)
@chromano-我正在从列表的子集获取链接。我用更多的模型更新了代码。为什么需要遍历所有列表?难道你不能获取所有与列表相关联的链接吗?类似于
links=Link.objects.filter(list\uu isnull=False)
@chromano-我正在从列表的子集获取链接。我用更多的模型更新了代码。