【问题标题】:How to take limited amount of related (many to one ) objects. django如何获取有限数量的相关(多对一)对象。 django
【发布时间】:2021-09-07 20:31:46
【问题描述】:

所以我有这三个模型:

class Database(models.Model):
    fields...

class DatabaseFieldsToCheck(models.Model): 
    data_base = models.ForeignKey(Database, on_delete=models.CASCADE, related_name="sql_requests_to_check")

class Result(models.Model):
    result = models.ForeignKey(DatabaseFieldsToCheck, on_delete=models.CASCADE, related_name="results")

所以我的关系看起来像这样 Database ---many---> DatabaseFieldsToCheck ---many--> 结果 所以在我看来,我只想为每个数据库获取最后 10 个结果。 我该怎么做? 我应该尝试原始 sql 吗?还是mby写一些数据传输对象?

【问题讨论】:

  • 最后 10 个结果,不管是哪个 DatabaseFieldsToCheck?或者最后 10 个 DatabaseFieldsToCheck

标签: django django-models one-to-many django-orm


【解决方案1】:

在您的模型中粘贴一个字段,您可以通过该字段按时间排序,以便第一次将该字段全部粘贴到您要获取结果的模型中

created = models.DateTimeField(default=timezone.now,editable=False)

那么在你看来

def viewname(request):
    result = Result.objects.order_by('-created')[:10]
    return render(request, 'home.html',{'result':result})

【讨论】:

  • 我希望能够从数据库实例中调用结果。
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 2017-09-12
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多