方法基于请求对象创建模型实例

2024-09-30 03:24:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个模型:

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

注意:以上内容仅用于演示目的,而不是确切的我在做什么,但我离题了。。。你知道吗

哪里是放置这样一个函数的理想位置?模型上的类方法?在经理那里?最佳做法是什么。你知道吗


Tags: 函数模型iphttpmodelsrequestreallength
1条回答
网友
1楼 · 发布于 2024-09-30 03:24:13

我倾向于将使用request的函数放入视图.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

相关问题 更多 >

    热门问题