Python 方法基于请求对象创建模型实例
我有一个这样的模型:Python 方法基于请求对象创建模型实例,python,django,django-models,django-managers,Python,Django,Django Models,Django Managers,我有一个这样的模型: 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_m
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
注意:以上内容纯粹是为了演示,并不完全是我在做什么,但我离题了
哪里是放置这样一个函数的理想位置?模型上的类方法?在经理那里?最佳做法是什么。我倾向于将使用
请求的函数放在views.py中。除了错误检查之外,您的代码应该可以正常工作
def create_submission(request, mantra):
ip_meta_entry = 'HTTP_X_REAL_IP' in request.META and 'HTTP_X_REAL_IP' or 'REMOTE_ADDR'
s = UserSubmission(
mantra=mantra,
ip=request.META[ip_meta_entry])
s.save()
return s