привет Я хочу, чтобы получить доступ к значению поля в Django администратора формыДоступ к модели Field в admin.ModelAdmin в Django
model.py
from __future__ import absolute_import, division
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class MySqlQuery(models.Model):
name = models.CharField(max_length=100)
query = models.TextField(max_length=1000)
class Meta:
verbose_name = 'SQL Query'
verbose_name_plural = 'SQL Queries'
def __str__(self):
return self.name
admin.py
class MySqlQueryAdmin(admin.ModelAdmin):
list_display = ('query', 'name', 'action')
def get_urls(self):
urls = super(MySqlQueryAdmin, self).get_urls()
my_urls = patterns('', url(r"^execute/$",
self.admin_site.admin_view(self.execute_query)))
return my_urls + urls
def execute_query(self, request):
cursor = connection.cursor()
try:
#------------------------------------------
#need to access query field from the models
#------------------------------------------
cursor.execute(self.form.query)
except:
logger.error('query was not right')
finally:
cursor.close()
return HttpResponseRedirect(request.META['HTTP_REFERER'])
def action(self, form):
return "<a href='execute/'>execute</a>"
action.allow_tags = True
admin.site.register(MySqlQuery, MySqlQueryAdmin)
Я создал model.py, у которых есть запрос поля, я хочу выполнить запрос от администратора Django. Для чего мне нужно получить доступ к полю в форме администратора django.
Спасибо за ответ, но я уже понял это. Как сделать курсор, выполняющий только запросы только для чтения? –