Django递归模型

3

我正在使用Django为我的项目和文件创建自己的“云服务器”。 我试图创建树形文件结构,但我无法弄清楚如何实现。
我该如何创建基于用户名的URL,比如(username/root/home/Documents/...)
我还对一些认证和Django风格的云服务器解决方案的好链接和示例感兴趣。

models.py

class BasicFile(models.Model):
    file_name = models.CharField(max_length=80)
    last_edit = models.DateTimeField(default=datetime.now, blank=True)
    sub_folders = models.IntegerField()
    sub_files = models.IntegerField()

    def __str__(self):
        return self.file_name


views.py

class IndexView(LoginRequiredMixin, ListView):
    template_name = 'cloud/index.html'
    context_object_name = 'project_file'

    def get_queryset(self, *args, **kwargs):
        return ProjectFile.objects.all()



urls.py

re_path(r'^(?P<username>)/$', views.IndexView.as_view(), name='index'),
re_path(r'^(?P<username>/f1/f1_child)/$', views.IndexView.as_view(), name='index'),
1个回答

1

当我添加parent = models.ForeignKey('self', blank=True, on_delete=models.CASCADE)时,它会给我一个关于TypeError: __init__() missing 1 required positional argument: 'to'的错误。我的计划是使用一个模型创建树形数据结构,这是否可能? - Jertzuuka
是的,这将为您提供仅使用1个模型的层次结构。您使用的Django版本是什么,因为查看文档,它就像所述的那样应该没问题;https://docs.djangoproject.com/en/1.11/ref/models/fields/#foreignkey - 如果您无法解决,请发布错误的完整堆栈跟踪。 - markwalker_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接