我试图创建一个应用程序,其中一个人插入一个id和一个人的生日日期并输出一些东西。我的 这里的疑问是:使用以下几个id和生日日期查询(来自oracle):
connection = cx_Oracle.connect(...)
cursor = connection.cursor()
cursor.execute("query")
我的问题是:是否可以将查询中的某些值传递给models.py文件?例如,在我的" models.py"文件我有一个名为" id"并且我想传递来自该字段中查询的所有记录" doente"到" models.py"归档为" id"。
我的表格是这样的: Form
和我的models.py文件是:
class PatientTutor(models.Model):
id = models.AutoField(primary_key=True)
username = models.CharField(max_length = 8)
patientID = models.CharField(max_length = 8)
created = models.DateTimeField(auto_now_add = True)
birthday = models.DateField(blank=True, default=None)
birthdayPatient = models.DateField(blank=True, default=None)
其中来自字段的值:" GTS进行自动调整"和" Data de nascimento做autorizante"在我的models.py和字段中的值:" GTS做autorizado"和" Data de nascimento做autorizado"来自查询。我想将查询中的所有值复制到我的models.py文件中,但我不知道是否可以。
编辑:
我的views.py文件如下所示:
def mostraFormTutorPaciente (request):
return render(request, 'CartaoCliente/mostraFormTutorPaciente.html')
def TutorPaciente (request):
if request.method == 'POST':
AutorizanteGTS = PatientTutor.objects.get(id = request.POST['AutorizanteGts'])
NascAutorizante = PatientTutor.objects.get(birthday = request.POST['DtNascAutorizante'])
connection = cx_Oracle.connect("....")
cursor = connection.cursor()
cursor.execute("select t_doente, doente, nome, dt_nasc, telef1, telef2" + \
"from gh.sd_doente where doente<>'" + patientID + \
"'and nvl(flag_anulado, 'N')<>'S' and dt_nasc >= sysdate-18*365 and (trim(telef1) in (" + inClause + ") or trim(telef2) in (" + inClause + "))")
registos =[]
for record in cursor:
registos.append(record)
return render(request, 'CartaoCliente/TutorPaciente.html', )
在这里,我尝试获取来自帖子的值,并且在我的models.py中,当我建立与oracle db的连接时,我尝试获取来自帖子的其他值。
答案 0 :(得分:0)
是的,这是可能的。
发布表单后,您可以从oracle数据库中获取数据,然后将其保存到模型对象中。
使用此示例视图查看其工作原理:
def my_view(request):
if request.method == 'POST':
form = MyForm(request.POST)
if form.is_valid():
# get the data from the oracle DB
oracle_data = some_function()
# create a model object that saves the data
obj = MyObject.objects.create(
birthday=oracle_data['birthdate']
some_other_field=some_value
)
# everything worked out, return a response
return render(request, 'some-template.html')
# for data was not valid, return an error
return render(request, 'error-template.html')