django取得フィールドの最大値、最新の記録動作


直接データベースで引き出すなら
from django.db.models import Max
Agment.objects.all().aggregate(Max('rating')
既存のモデルリストから取得する場合

from django.db.models import Max
args = Argument.objects.all() 
args.aggregate(Max('rating'))
最新の行のデータを取得します。
max_rated_entry=Your Model.objects.latest('rating')
或いは事前にモデルにget_を指定してください。latest_by

from django.db import models

class YourModel(models.Model):
  .....
  class Meta:
    get_latest_by = 'rating'

#     
max_rated_entry = YourModel.objects.latest()
return max_rated_entry.details
補足知識:djangoはどのようにmodelによってフィールドのnameとverbose_を取得しますか?name
Djangoでは、導入されたmodelによって対応するフィールドのnameとverbosnameを取得できます。統一されたテンプレートを使用して起動しやすくなります。

def get_headers_from_model(modelClass):
  '''
    model           ,   
  :param modelClass:
  :return:
  '''
  cols = []
  headers = []
  for f in modelClass._meta.get_fields():
    try:
      cols.append( f.name )
      headers.append( f.verbose_name )
    except Exception as ex:
      pass
  return headers,cols
以上のdjangoはフィールドの最大値を獲得しました。最新の記録操作は小編集で皆さんに提供した内容を全部共有しました。皆様に参考にしてもらいたいです。