擅长:python、mysql、java
<p>也许使用<a href="https://docs.python.org/3/library/inspect.html#module-inspect" rel="nofollow noreferrer">inspect</a>模块可以满足您的需要:</p>
<pre><code>import sys, inspect
from django.db.models import Model
from django.urls import path
from django.views.generic import TemplateView
from . import views
from . import models
# find classes in models.py
is_class_member = lambda member: inspect.isclass(member)
class_members = inspect.getmembers(sys.modules['your_app_name.models'], is_class_member)
urlpatterns = [
path(f'animals/{item[0]}/', views.AnimalList.as_view(template_name = 'animals.html', model = item[1]), name='lots') for item in class_members]
</code></pre>
<p>您可能需要填写<code>your_app_name</code>或在名称空间中找到正确的名称。
此外,您可能希望将更多的筛选选项应用于模型搜索-只需通过添加<code>and</code>/<code>or</code>条件扩展lambda即可</p>