首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用django实现关联表的name 对应多条跟进记录并按名称显示(初学,求教)?

如何用django实现关联表的name 对应多条跟进记录并按名称显示(初学,求教)?

提问于 2023-03-11 15:38:51
回答 0关注 0查看 55

初学,求教实现流程。现在实现的流程如下,虽然能达到显示效果,但是感觉实现的方式是不对的。初学基础薄弱。感觉应该用递归方式实现。确无参考求教开发者社区的各位大神。谢谢

代码语言:js
复制
class CrmUserFollowUp(models.Model):
    followup = models.TextField(verbose_name="跟进明细", null=True, help_text="跟进明细")
    followup_data = models.DateTimeField(verbose_name="跟进时间", null=True, help_text="跟进时间")
    add_data = models.DateTimeField(auto_now_add=True, verbose_name="录入时间", null=True, help_text="录入时间")
    crm_user = models.ForeignKey(verbose_name="用户", to="CrmUser", on_delete=models.CASCADE)
代码语言:js
复制

class CrmUserFollowUpModelForm(BootStrapModelForm):

    class Meta:
        model = models.CrmUserFollowUp
        fields = "__all__"
        exclude = ["add_data", "crm_user"]

代码语言:js
复制
def crmuserfollowup_list(request):
    """跟进明细列表"""
    queryset = models.CrmUserFollowUp.objects.all().order_by('-add_data')

    crm_user_name_list = []
    for q in queryset:
        if q.crm_user.name not in crm_user_name_list:
            # print(q.crm_user.name)
            crm_user_name_list.append(q.crm_user.name)
    # print(crm_user_name_list)
    # for k in crm_user_name_list:
    #     print(k)
    #     for c in queryset:
    #         if k == c.crm_user.name:
    #             print(c)
    form = CrmUserFollowUpModelForm()
    context = {
        "form": form,
        "crm_user_name_list": crm_user_name_list,
        "queryset": queryset,
        "title": "跟进明细",
    }
    return render(request, "crm/followup_list.html", context)
代码语言:js
复制
web页面
{% block content %}
    <div class="page-body">
        <div class="card-body">
            <div class="accordion" id="accordion-example">
                {% for crm_user_name in crm_user_name_list %}
                    <div class="card">
                        <div class="card-body card-active">
                            <h3 class="card-title">客户:{{ crm_user_name }}</h3>
                        </div>
                    </div>
                    {% for obj in queryset %}
                        {% if crm_user_name == obj.crm_user.name %}
                            <div class="card">
                                <div class="card-body">
                                    <p>跟进时间:{{ obj.add_data|date:"yy-m-d" }}</p>
                                    <p>{{ obj.followup }}</p>
                                    <p class="empty-subtitle text-muted">
                                        客户录入时间:{{ obj.crm_user.add_data|date:"yy-m-d" }}</p>
                                </div>
                            </div>
                        {% endif %}
                    {% endfor %}
                    <div class="progress progress-sm card-progress">
                        <div class="progress-bar" style="width: 38%" role="progressbar" aria-valuenow="38"
                             aria-valuemin="0" aria-valuemax="100">
                        </div>
                    </div>
                {% endfor %}
            </div>
            <div class="card-footer d-flex align-items-center">
                        <ul class="pagination m-0 ms-auto">
                            {{ page_string }}
                        </ul>
                    </div>
        </div>
    </div>
{% endblock %}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档