Вы можете сделать это, используя get_field :
from django.core.exceptions import FieldDoesNotExist
order_by = self.request.GET.get('order_by', 'id')
try:
if order_by.startswith('-'):
Item._meta.get_field(order_by[1:])
else:
Item._meta.get_field(order_by)
except FieldDoesNotExist:
# field does not exist
К вашему сведению, это решение не будет работать с foreignkey/m2m__field_name
выражениями.
Я поддерживаю проект Jolt.NET на CodePlex и реализовал функцию, которая выполняет эту самую задачу. Для получения дополнительной информации обратитесь к библиотеке Jolt .
По сути, библиотека позволяет программно находить и запрашивать файл комментариев XML-документа для сборки, используя типы метаданных в System.Reflection
(например, MethodInfo
, PropertyInfo
и т. Д.).
Microsoft Sandcastle - это инструмент для извлечения документации из сборок с помощью или без помощи файлов комментариев XML. Он был выпущен как открытый исходный код. Вы можете попробовать взглянуть на код этого инструмента.
Давайте подумаем об этом.
XML-комментарии никогда не являются частью сборочной единицы. Поэтому у сторонней сборки, о которой вы говорите, не будет никакой информации, из которой вы сможете извлечь комментарии.
Теперь, если эти сборки могут генерировать XML-файлы, содержащие эту документацию, возможно, с использованием SandCastle или nDoc, вы можете прочитать эти XML файлов, как вы хотите.
Следующий вопрос - если у вас есть эти XML-файлы документов, как их анализировать и читать