Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
如果一个用户在Django中共享了多个文件,则会重复用户名?_Django_Model - Fatal编程技术网

如果一个用户在Django中共享了多个文件,则会重复用户名?

如果一个用户在Django中共享了多个文件,则会重复用户名?,django,model,Django,Model,我有一个django视图,它为django模板提供共享的用户id: shared_by = Share.objects.filter(shared_user_id=log_id) 以下是我的共享和用户模型: class Share(models.Model): users = models.ForeignKey(User) files = models.ForeignKey(File) shared_user_id = models.IntegerField()

我有一个django视图,它为django模板提供共享的用户id:

 shared_by = Share.objects.filter(shared_user_id=log_id)
以下是我的共享和用户模型:

class Share(models.Model):
    users = models.ForeignKey(User)
    files = models.ForeignKey(File)
    shared_user_id = models.IntegerField()
    shared_date = models.TextField()

class User(AbstractBaseUser):
    #id = models.IntegerField(primary_key=True)
    #identifier = models.CharField(max_length=40, unique=True, db_index=True)
    username = models.CharField(max_length=90, unique=True, db_index=True)
    create_time = models.DateTimeField(null=True, blank=True)
    update_time = models.DateTimeField(null=True, blank=True)
    email = models.CharField(max_length=225)
    #password = models.CharField(max_length=120)
    external = models.IntegerField(null=True, blank=True)
    deleted = models.IntegerField(null=True, blank=True)
    purged = models.IntegerField(null=True, blank=True)
    form_values_id = models.IntegerField(null=True, blank=True)
    disk_usage = models.DecimalField(null=True, max_digits=16, decimal_places=0, blank=True)
    objects = UserManager()
    USERNAME_FIELD = 'email'
    class Meta:
        db_table = u'galaxy_user'
我是这样调用模板的:

{% for choice in shared_with_me %}
    {% csrf_token %}
    <tr class="oddclass">
        <td><input type="checkbox" name="choice_shard_with_me" id="choice{{ forloop.counter }}" value="{{ choice.file_name }}" onchange="checkChecked()"/></td>
        <td><label for="choice{{ forloop.counter }}">{{ choice.file_name }}</label></td>
        <td>{{ choice.type }}</td>
        <td>{{ choice.size }}</td>
        <td>{{ choice.end_date }}</td>
        {% for file in shared_by %}
            {% ifequal file.users choice.users %} 
                {% if forloop %}
                    <td>{{ file.users.username }}</td>
                {% endif %}
            {% endifequal %}
        {% endfor %}
    </tr>
{% endfor %}    

我做错了什么?

你应该检查你的数据集。我认为代码:
{%for file in shared_by%}
从数据库中获取两条特定用户的文件记录,并打印两次

    File Name   Type    Size       Shared On            Shared By
    ok.txt  txt 4.78 MB February 24, 2013, 09:59AM  sachitad
    ok.txt  txt 4.78 MB February 24, 2013, 10:08AM  sachitdhiifds   sachitdhiifds
    NC_008253.fna   fna 4.78 MB February 24, 2013, 10:11AMsachitdhiifds sachitdhiifds
    NC_008253.fna   fna 4.78 MB February 24, 2013, 10:20AM  hello
    ok.txt  txt 4.78 MB February 24, 2013, 10:30AM  abcde   abcde