Проблемы с майнингом с Джанго - PullRequest
0 голосов
/ 10 марта 2011

Я создал проект Django, в котором я создаю случайные точки.Эти случайные точки хранятся в базе данных (sqlite) (я могу увидеть их через веб-сайт администратора и изменить значения, так что это работает).Если я напишу сценарий, я смогу получить доступ к точкам и распечатать их на графике.См. Приведенный ниже код.

Но если я затем захочу добыть эти точки, чтобы отсортировать их или только построить выборку набора данных, у меня, похоже, будут проблемы.Если бы я считал значения, они больше не связаны, и сортировка x смешала бы набор точек.Есть ли способ сортировки набора данных до минимального значения в этом случае X и сортировки значений и печати набора?(оставить все x, y, z и имя значения точки нетронутыми?) (см. ответ ниже, point in Point3D.objects.all().order_by('x'):)

Если я теперь хочу, чтобы значения x находились в диапазоне от x = 12и х = 30?Как я могу добавить этот дополнительный фильтр?

Мой код выглядит следующим образом: models.py:

class Point3D(models.Model):
name = models.CharField(max_length = 10)
x = models.DecimalField(max_digits=5, decimal_places=2)
y = models.DecimalField(max_digits=5, decimal_places=2)
z = models.DecimalField(max_digits=5, decimal_places=2)

генерирует очки:

from books.models import Point3D

def points():
    for i in range(20):
        x = random.randint(0,100)
        y = random.randint(0,100)
        z = random.randint(0,100)

        p = Point3D(name = x , x = x ,y = y,z = z)
#        print 'test'
        p.save()
#    

points()

вviews.py:

def ThreeGraphs(request):
    fig = Figure()
    fig.suptitle('2D-punten')
    ax = fig.add_subplot(111)

    for point in Point3D.objects.all():
        print point
        name = int(point.name)
        xs = int(point.x)
        ys = int(point.y)
        zs = int(point.z)
        print (xs, ys, zs)
        ax.plot(xs, ys, 'bo' )

    HttpResponse(mimetype="image/png")
    FigureCanvas(fig)
    fig.savefig('template/images/testing.png')
    picture = "testing.png"
    return render_to_response('Test.html', {'picture': picture}, RequestContext(request))

Надеюсь, кто-нибудь знает, как решить мою проблему.

Спасибо большое!Tijl

1 Ответ

1 голос
/ 10 марта 2011

Вам нужно к этому:

    for point in Point3D.objects.all().order_by('x'):

Это вернет точки в отсортированном порядке по полю 'x'. Вы можете сказать order_by ('- x'), чтобы изменить порядок сортировки.

...