过滤员工姓名并在前端显示员工列表

时间:2021-07-05 09:35:19

标签: python django django-views django-templates

我正在尝试仅过滤员工用户并将员工列表显示到前端,普通用户可以在其中选择员工姓名并输入价格。

我的这个函数的视图文件很大,所以我在这里分享要点文件Views.py

谁能帮我解决这个问题?谢谢

模型.py

class DailyFood(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    date = models.DateTimeField(default=now)
    total = models.PositiveIntegerField()


class PurchaseHistory(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='histories')
    date = models.DateTimeField(default=now)
    balance = models.PositiveIntegerField()
    hand_cash = models.PositiveIntegerField()

HTML

<form action="" method="post">
  {% csrf_token %}

    <div class="modal-body">
       <div class="modal-body">
           <div class="form-group">
                <label>Total price</label>
                <input type="number" name="price" class="form-control" placeholder="Enter price">
                <label>Staff</label> <!-- #show staff list here-->
           </div>
       </div>
    </div>
    <div class="modal-footer">
       <button type="submit" class="btn btn-success">Submit</button>
       <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
    </div>
</form>

1 个答案:

答案 0 :(得分:1)

您的 github 链接没有为我打开,但您可以使用 model_name__user__is_staff 过滤您的员工​​用户并将其发送到您的模板

解决方案 2:

您可以通过以下代码行过滤您的用户:

staff = User.objects.filter(is_staff=True)

并像这样将它们发送到您的模板:

{% for stf in staff %}
    {{stf.username}}
{% endfor %} 

希望我的回答有用;)