arman54
سه شنبه 19 آبان 1394, 23:27 عصر
سلام ...
فرض كنيم توي ديتابيس جنگو 10تا گزينه داريم كه براي هركدوم يه تاريخ خاصي نوشته شده.
حالا با پايتون چجوري ميشه از بين اين 10تا 3تارو انتخاب(فيلتر) كرد بطوريكه تاريخشون از بقيه بالاتر(يا پايينتر) باشه؟
َAhmad Hamzeei
چهارشنبه 20 آبان 1394, 00:31 صبح
اول که مدل رو میسازی، مثلا:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
join_date = models.DateField()
def __str__(self):
return self.name
بعدش هم تغییرات رو تو دیتابیس اعمال میکنی و shell رو باز میکنی:
python manage.py migrate
python manage.py makemigrations
python manage.py shell
چند تا رکورد برای تست تو دیتابیس میسازی:
>>> from barname.models import User
>>> import datetime
>>> User.objects.create(name='ahmed', join_date=datetime.date.today())
<User: ahmed>
>>> User.objects.create(name='sajjad', join_date=datetime.date.today())
<User: sajjad>
>>> User.objects.create(name='ali', join_date=datetime.date(2002, 3, 11))
<User: ali>
>>> User.objects.create(name='mahdi', join_date=datetime.date(2010, 3, 11))
<User: madak>
>>> User.objects.create(name='saeed', join_date=datetime.date(2013, 3, 11))
<User: saeed>
دریافت سه تا رکوردی که تاریخ جدیدتری دارند:
>>> User.objects.order_by('-join_date')[:3]
[<User: ahmed>, <User: sajjad>, <User: saeed>]
دریافت سه تا رکوردی که تاریخ قدیمیتری دارند:
>>> User.objects.order_by('join_date')[:3]
[<User: ali>, <User: mahdi>, <User: saeed>]
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.