如何解决Django Admin不允许向表中输入数据
所以我在我的项目中使用了 django admin,我在我的项目开发过程中已经有了一些列,随着时间的推移,该列从 2 减少到 1 并且列名已更改。所以我对代码进行了更改,但我无法写入 django admin 。 inn django 管理 UI 或 django 代码。它说表不存在
admin.py
from django.contrib import admin
from .models import SalesforceTicket,UploadedFiles
# Register your models here.
admin.site.register(SalesforceTicket)
admin.site.register(UploadedFiles)
views.py
def files(request):
num_of_files = 1
filled_multi_file_form = MultipleForm(request.GET)
if filled_multi_file_form.is_valid():
num_of_files = filled_multi_file_form.cleaned_data['num_of_files']
FilesFormSet = formset_factory(FilesForm,extra=num_of_files)
formset = FilesFormSet()
if request.method == 'POST':
filled_form = SnippetForm(request.POST,request.FILES)
filled_formset = FilesFormSet(request.POST,request.FILES)
if filled_form.is_valid() and filled_formset.is_valid():
SalesforceTicket = filled_form.save(commit=False)
SalesforceTicket.save()
SalesforceNumber = filled_form.cleaned_data['SalesforceNumber']
for form in filled_formset:
data = form.save(commit=False)
data.SalesforceTicket = SalesforceTicket
data.save()
file = form.cleaned_data['files_to_upload']
path = form.cleaned_data['path']
server = form.cleaned_data['server']
note = 'File Uploaded Successfully !!'
filled_form = SnippetForm()
filled_formset = FilesFormSet()
else:
note = 'Please try again!'
return render(request,'myforms/files.html',{'note': note,'SnippetForm': filled_form,'formset': filled_formset})
else:
form1 = SnippetForm()
filled_formset = FilesFormSet()
return render(request,{'SnippetForm': form1,'formset': filled_formset})
forms.py
from django import forms
from .models import SalesforceTicket,UploadedFiles
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
import os,pathlib
import logging
class SnippetForm(forms.ModelForm):
class Meta:
model = SalesforceTicket
fields = ['SalesforceNumber']
class FilesForm(forms.ModelForm):
class Meta:
model = UploadedFiles
fields = ['files_to_upload','path','server']
def clean(self):
cleaned_data = super(FilesForm,self).clean()
#files_to_upload = cleaned_data.get("files_to_upload")
path = cleaned_data.get("path")
server = cleaned_data.get("server")
new_path = path.replace(':','$',1)
# print(new_path)
mode = 0o666
for s in server:
s = r'\\' + s
unc_path = os.path.join(s,new_path)
print("hello"+unc_path)
#unc_path = os.mkdir(unc_path,mode)
isdir = os.path.isdir(unc_path)
if isdir:
print("ok")
else:
unc_path = os.mkdir(unc_path,mode)
return cleaned_data
class MultipleForm(forms.Form):
num_of_files = forms.IntegerField(min_value=1,max_value=10)
我在上传到文件时遇到错误,实际上不是上传:问题已经发布在 Stack 上,不知道 django admin 是否是该原因的问题。
所以我尝试使用 django 管理 UI 插入数据:
所以我收到这个错误:'=
链接到我之前的问题:Django file not uploaded using FileField(upload to=)
所以我在迁移和运行服务器之后应用了 makemigration 并尝试添加到 django salesforce 模型表中。
这里是生成的迁移日志:
有谁知道原因
解决方法
当您在新创建的表之后没有进行迁移时,通常会出现此错误 - 在您的案例表中是 SalesforceTicket
首先进行迁移:python manage.py makemigrations
,然后使用以下命令应用这些迁移:python manage.py migrate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。