Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django循环模式选择_Python_Django_Django Models - Fatal编程技术网

Python Django循环模式选择

Python Django循环模式选择,python,django,django-models,Python,Django,Django Models,这是我正在使用的基本代码: 3个主要文件: models.py views.py 模板/课程列表.html 但我在models.py中添加了一些更多的功能,包括技能水平和模型选择主题: class Subject(models.Model): SUBJECT_CHOICES = ( ('tech', 'Technical'), ('bus', 'Business'), ('lead', 'Leadership'), ) n

这是我正在使用的基本代码:

3个主要文件:

  • models.py
  • views.py
  • 模板/课程列表.html
  • 但我在models.py中添加了一些更多的功能,包括技能水平和模型选择主题:

    class Subject(models.Model):
        SUBJECT_CHOICES = (
            ('tech', 'Technical'),
            ('bus', 'Business'),
            ('lead', 'Leadership'),
        )
        name = models.CharField(max_length=20,choices=SUBJECT_CHOICES, unique=True)
    
        def __str__(self):
            return self.name
    
    class Skill_level(models.Model):
        SKILL_LEVEL_CHOICES = (
            ('Begin', 'Beginner'),
            ('Interm', 'Intermediate'),
            ('Adv', 'Advanced'),
        )
        name = models.CharField(max_length=20,choices=SKILL_LEVEL_CHOICES, unique=True)
    
        def __str__(self):
            return self.name
    
    class Course(models.Model):
        slug = models.SlugField()
        title = models.CharField(max_length=120)
        description = models.TextField()
        allowed_memberships = models.ManyToManyField(Membership)
        created_at = models.DateTimeField(auto_now_add=True)
        subjects = models.ManyToManyField(Subject)
        skill_level = models.ManyToManyField(Skill_level)
        visited_times = models.IntegerField(default=0)
    
        def __str__(self):
            return self.title
    
        def get_absolute_url(self):
            return reverse('courses:detail', kwargs={'slug': self.slug})
    
        @property
        def lessons(self):
            return self.lesson_set.all().order_by('position')
    
    我最终想做的是循环主题和技能水平,这样循环结果可以在下拉菜单中使用,用户可以搜索/过滤特定主题或特定技能水平的课程。但是现在我想让下拉列表中填充选项

    结果示例:

    如果有人能提供一些代码来实现这一点,我将不胜感激

    class Skill_level(models.Model):
        choices = models.CharField(max_length=25)
    
        def __str__(self):
            return self.choices
    
    class Course(models.Model):
        skill_level = models.ForeignKey(Skill_level, on_delete= ....)
    

    您可以尝试这种方式,它将在您的表单中显示为下拉列表。

    StackOverflow不是一种代码编写服务,请告诉我们您尝试了什么,请仅在帖子中显示代码,而不是从images@LinhNguyen好的,很抱歉,我在这里尝试了这个类似的问题->但我没有任何运气尝试让它与我的代码一起工作。你们能帮忙吗?嗨,小朋友们欢迎来到stackoverflow,请不要在类似pastebin的服务上发布代码。一定要把你的代码放在问题中,一旦你试图自己解决问题并陷入困境,我们可以指导你如何解决。请阅读上的stackoverflow指南。@BagusTesa好的,谢谢。我编辑了问题以包含代码。抱歉,但不确定如何实现。现在我不想使用表格,我只想列出如图所示的选项。