Django Form Preview - Добавление Пользователя Form прежде сохраняет

Вот эффективный способ сделать это независимо от платформы:

import subprocess
import os
import platform

def is_tool(name):
    try:
        devnull = open(os.devnull)
        subprocess.Popen([name], stdout=devnull, stderr=devnull).communicate()
    except OSError as e:
        if e.errno == os.errno.ENOENT:
            return False
    return True

def find_prog(prog):
    if is_tool(prog):
        cmd = "where" if platform.system() == "Windows" else "which"
        return subprocess.call([cmd, prog])
7
задан Antonius Common 9 March 2009 в 10:57
поделиться

1 ответ

Если бы пользователь не может быть изменен, я сказал бы, что это не должно даже быть включено в форму во-первых.

Так или иначе, использование commit аргумент для предотвращения полученного объекта, сохраняемого сразу, должен работать (принятие FormPreview использование ModelForm):

obj = form.save(commit=False)
obj.user = request.user
obj.save()
12
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: