首页 > 解决方案 > django manytomany 用户自动填充用户字段

问题描述

我的models.py. 我正在尝试自动填充第二个表中的用户,无论我在第一个表中选择什么用户,我都试图覆盖save_modelin,admins.py但它没有用。这是我的models.py文件:

class Company(models.Model):

    company_name = models.CharField(max_length = 50)
    slug = models.SlugField(unique = True)
    user = models.ManyToManyField(User, related_name='company_user')
    objects = models.Manager()
    published = PublishedManager()

    def __str__(self):
        return self.company_name


class Group(models.Model):

    company_name = models.ForeignKey(Company, related_name = 'co_name', 
                                 on_delete=models.CASCADE)
    count = models.CharField(max_length = 50)
    real_count = models.CharField(max_length = 50)
    entry_date = models.DateTimeField()
    exit_date = models.DateTimeField()
    code = models.CharField(max_length = 10)
    code_date = models.DateTimeField()
    manifest = models.ImageField(upload_to='manifest/%m/%y', blank=True)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    user = models.ManyToManyField(User, related_name='group_user', blank=True)
    objects = models.Manager()
    published = PublishedManager()

    class Meta:
    
        ordering = ('-code_date',)

    def __str__(self):
        return str(self.id)

我的 admins.py 文件

@admin.register(Group)
class GroupAdmin(admin.ModelAdmin):
    list_display = ['id', 'company_name', 'code', 'code_date', 'count',
                    'real_count', 'entry_date', 'exit_date',
                    'manifest', 'created'
                    ]
    autocomplete_fields = ('user',)


@admin.register(Company)
class CompanyAdmin(admin.ModelAdmin):
    list_display = ['company_name']
    autocomplete_fields = ('user',)
    prepopulated_fields = {'slug': ('company_name',)}

视图.py

@login_required
def main_approval(request):

    groups = Group.objects.filter(user=request.user)
    context = {'groups': groups}
    return render(request, 'approval/main_list.html', context)

我正在尝试让Company班级中的用户自动插入我的Group班级

有什么建议吗?

标签: pythondjango

解决方案


尝试在 views.py 中执行此操作

user = self.company_name.user.all()

推荐阅读