如何从数据库中获取最后创建的3个对象?

时间:2019-05-25 04:54:40

标签: html django django-views django-filter

我想在我的网站上显示最近创建的3个对象。我不知道该怎么办。 我只需要知道如何根据创建的日期订购模型。并且,访问已订购集合的第一,第二和第三项。

我很确定这是行不通的。这是来自views.py

Mat circles = new Mat();
Imgproc.HoughCircles(adaptiveThresh, circles, Imgproc.HOUGH_GRADIENT, 1.0, (double) adaptiveThresh.rows() / 40, 100.0, 30.0, 20, 30);

List<Circle> circleList = new ArrayList<>();
Point p1 = new Point(0, 0);

for (int x = 0; x < circles.cols(); x++) {
    double[] c = circles.get(0, x);
    Point center = new Point(Math.round(c[0]), Math.round(c[1]));
    int radius = (int) Math.round(c[2]);
    Imgproc.circle(source, center, radius, new Scalar(255,0,255), 3, 8, 0 );

    Circle circle = new Circle();
    circle.centerY = (int) center.y;
    circle.centerY = (int) center.y;

    circle.radius= radius;

    circle.x = circle.centerX - circle.radius;
    circle.y = circle.centerY - circle.radius;

    circle.distance = Math.sqrt(Math.pow(Math.abs(p1.x - circle.centerX), 2) + Math.pow(Math.abs(p1.y - circle.centerY), 2));

    circleList.add(circle);
    Log.d(TAG, "scan2: x->" + circle.x + "\ty->" + circle.y);
}

我不断得到

  

“获取切片后无法过滤查询”

2 个答案:

答案 0 :(得分:3)

您可以这样创建ORM

latest = Upcoming_Events.objects.all().order_by('-date')[:3]

然后进入模板

{% for event in latest %}
    {{ event.date }}
{% endfor %}

更新: 根据评论尝试

event1 = latest[0]
event2 = latest[1]
event3 = latest[2]

答案 1 :(得分:1)

对pk(id)降序

latest = Upcoming_Events.objects.all().values().order_by('-id')[:3]

然后:

event1 = latest[0]

UPDATE

请注意,您必须使用.values()

如果不使用它,SQL查询将不包含LIMIT 3