0
私はまだPythonとDjangoの新機能です。私はカスタムユーザーモデルを持っています。特定のユーザーによって作成されたモデルデータのみを表示します。私は以下を試しましたが、うまくいきません。私はまだ学んでいることを理解してください。クエリセットを使用して表示されたモデルをフィルタリングする
モデル
class Company(models.Model):
user = models.ManyToManyField(settings.AUTH_USER_MODEL)
name = models.CharField(max_length=265)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('nodisoapp:home')
ビュー
class CreateCompany(LoginRequiredMixin, generic.CreateView):
login_url = '/scrty/login/'
form_class = forms.Companyform
template_name = 'nodiso/create_company.html'
def form_valid(self, form):
response = super(CreateCompany, self).form_valid(form)
self.object.user.add(self.request.user)
return response
def get_queryset(self):
self.user = get_object_or_404(models.Company,user)
return models.Company.filter(user=self.user)
テンプレート
{% if company_list %}
<h1>Please select your company</h1>
<ul>
{% for company in company_list %}
<li>{{company.name}}</li>
</ul>
{% endfor %}
<button type="button" class="btn btn-info" href="{% url 'nodisoapp:createcompany' %}">Create New Company</button>
<a href="{% url 'nodisoapp:createcompany' %}">create</a>
{% else %}
<h1>You have no companies</h1>
<a href="{% url 'nodisoapp:createcompany' %}">create</a>
<button type="button" class="btn btn-info" href="{% url 'nodisoapp:createcompany' %}">Create A Company</button>
{% endif %}
は私が助けに感謝
を使用することで、現在ログインしているユーザーを使用したい場合は、私は、コードを変更しましたが、それはまだそれが唯一のビューに追加する必要があり、すべてのデータを示しています? – Hennie