私はこのようなモデルを持っています:
class UserSubmission(models.Model):
mantra = models.CharField(max_length=64)
ip = models.CharField(max_length=15) # xxx.xxx.xxx.xxx
次のような関数を作成したい:
def create_submission(request, mantra):
s = UserSubmission(mantra=mantra)
ip_meta_entry = 'HTTP_X_REAL_IP' in request.META and 'HTTP_X_REAL_IP' or 'REMOTE_ADDR'
s.ip = request.META[ip_meta_entry]
s.save()
return s
注:上記は純粋にデモンストレーションを目的としたものであり、正確には私がやっていることではありませんが、脱線します...
そのような関数を配置するのに理想的な場所はどこでしょうか? モデルのクラスメソッド? マネージャーで?ベストプラクティスは何でしょう。