Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Python 如何查询单个要删除的对象而不是整个查询列表?_Python_Django - Fatal编程技术网

Python 如何查询单个要删除的对象而不是整个查询列表?

Python 如何查询单个要删除的对象而不是整个查询列表?,python,django,Python,Django,我可以删除一个用户的帖子(tweets),但是当我这样做的时候,当我一次只想删除一条时,它最终会删除该用户的所有tweets,我认为这与我查询用户tweets的方式有关,但我不确定。我正在使用Django 1.8 型号.py from django.db import models from django.contrib.auth.models import User import tagging from tagging.registry import register as tagging_

我可以删除一个用户的帖子(tweets),但是当我这样做的时候,当我一次只想删除一条时,它最终会删除该用户的所有tweets,我认为这与我查询用户tweets的方式有关,但我不确定。我正在使用Django 1.8

型号.py

from django.db import models
from django.contrib.auth.models import User
import tagging
from tagging.registry import register as tagging_
import os


def get_image_path(instance, filename):
    return os.path.join('photos', str(instance.user.id), filename)


class UserProfile(models.Model):
    user = models.OneToOneField(User)
    bio = models.CharField(max_length=120, blank=True, verbose_name='Biography')
    follows = models.ManyToManyField('self', related_name='followers', symmetrical=False, blank=True) #reverse related relations, or through
    theme = models.ImageField(upload_to=get_image_path, blank=True)
    profile_picture = models.ImageField(upload_to=get_image_path, blank=True) 


   def __str__(self):
      return self.bio

class Tweet(models.Model):
    userprofile = models.ForeignKey(UserProfile)
    tweets = models.TextField(max_length=120)
    date = models.DateTimeField()



    def json_feat(self):
     return{
      'title': self.tweets,
     }


def __str__(self):
    return self.tweets

tagging_(Tweet)
def delete_tweet(request, user_id):
    data = {'You deleted your tweet'}
    user = get_object_or_404(User, pk=user_id)
    user_profile = get_object_or_404(UserProfile, user=user)
    get_users_tweets = Tweet.objects.filter(userprofile=user_profile)
    remove_tweet = get_users_tweets.delete()
    return JsonResponse(data, safe=False)
视图.py

from django.db import models
from django.contrib.auth.models import User
import tagging
from tagging.registry import register as tagging_
import os


def get_image_path(instance, filename):
    return os.path.join('photos', str(instance.user.id), filename)


class UserProfile(models.Model):
    user = models.OneToOneField(User)
    bio = models.CharField(max_length=120, blank=True, verbose_name='Biography')
    follows = models.ManyToManyField('self', related_name='followers', symmetrical=False, blank=True) #reverse related relations, or through
    theme = models.ImageField(upload_to=get_image_path, blank=True)
    profile_picture = models.ImageField(upload_to=get_image_path, blank=True) 


   def __str__(self):
      return self.bio

class Tweet(models.Model):
    userprofile = models.ForeignKey(UserProfile)
    tweets = models.TextField(max_length=120)
    date = models.DateTimeField()



    def json_feat(self):
     return{
      'title': self.tweets,
     }


def __str__(self):
    return self.tweets

tagging_(Tweet)
def delete_tweet(request, user_id):
    data = {'You deleted your tweet'}
    user = get_object_or_404(User, pk=user_id)
    user_profile = get_object_or_404(UserProfile, user=user)
    get_users_tweets = Tweet.objects.filter(userprofile=user_profile)
    remove_tweet = get_users_tweets.delete()
    return JsonResponse(data, safe=False)
模板

   {% for tweets in tweet %}
     {{ tweets.userprofile.user }} | {{ tweets }} | {{ tweets.date }} | <a href='{% url 'delete_tweet' user_id=user.id %}'>Delete </a> <br />
   {% endfor %}
{%用于tweet%}
{{tweets.userprofile.user}}}{{tweets}}}{{tweets.date}}}}}{br/>
{%endfor%}
url

url(r'^delete/(?P<user_id>[\d]+)/$', views.delete_tweet, name='delete_tweet'),
url(r'^delete/(?P[\d]+)/$),views.delete\u tweet,name='delete\u tweet'),
将为您提供指定用户编写的所有推文->所有推文都将被删除。您要删除哪一个?您需要指定这一点

编辑:

(在注释中指定OP希望执行的操作后)

将您的url更新为:

url(r'^delete/(?P<tweet_id>[\d]+)/$', views.delete_tweet, name='delete_tweet'),
def delete_tweet(request, tweet_id):
    data = {'You deleted your tweet.'}
    tweet = Tweet.objects.filter(pk=tweet_id)
    tweet.delete()
    return JsonResponse(data, safe=False)
将为您提供指定用户编写的所有推文->所有推文都将被删除。您要删除哪一个?您需要指定这一点

编辑:

(在注释中指定OP希望执行的操作后)

将您的url更新为:

url(r'^delete/(?P<tweet_id>[\d]+)/$', views.delete_tweet, name='delete_tweet'),
def delete_tweet(request, tweet_id):
    data = {'You deleted your tweet.'}
    tweet = Tweet.objects.filter(pk=tweet_id)
    tweet.delete()
    return JsonResponse(data, safe=False)
将为您提供指定用户编写的所有推文->所有推文都将被删除。您要删除哪一个?您需要指定这一点

编辑:

(在注释中指定OP希望执行的操作后)

将您的url更新为:

url(r'^delete/(?P<tweet_id>[\d]+)/$', views.delete_tweet, name='delete_tweet'),
def delete_tweet(request, tweet_id):
    data = {'You deleted your tweet.'}
    tweet = Tweet.objects.filter(pk=tweet_id)
    tweet.delete()
    return JsonResponse(data, safe=False)
将为您提供指定用户编写的所有推文->所有推文都将被删除。您要删除哪一个?您需要指定这一点

编辑:

(在注释中指定OP希望执行的操作后)

将您的url更新为:

url(r'^delete/(?P<tweet_id>[\d]+)/$', views.delete_tweet, name='delete_tweet'),
def delete_tweet(request, tweet_id):
    data = {'You deleted your tweet.'}
    tweet = Tweet.objects.filter(pk=tweet_id)
    tweet.delete()
    return JsonResponse(data, safe=False)

您需要在URL中添加推特id

url(r'^delete/(?P<user_id>[\d]+)/(?P<tweet_id>[\d]+)$', views.delete_tweet, name='delete_tweet'),

这将删除关于该用户的特定推文。

您需要在URL中添加推文id

url(r'^delete/(?P<user_id>[\d]+)/(?P<tweet_id>[\d]+)$', views.delete_tweet, name='delete_tweet'),

这将删除关于该用户的特定推文。

您需要在URL中添加推文id

url(r'^delete/(?P<user_id>[\d]+)/(?P<tweet_id>[\d]+)$', views.delete_tweet, name='delete_tweet'),

这将删除关于该用户的特定推文。

您需要在URL中添加推文id

url(r'^delete/(?P<user_id>[\d]+)/(?P<tweet_id>[\d]+)$', views.delete_tweet, name='delete_tweet'),


这将删除关于该用户的特定推文。

您没有传递任何信息来标识用户要删除的推文。您没有传递任何信息来标识用户要删除的推文。您没有传递任何信息来标识用户要删除的推文。您没有传递任何信息识别用户想要删除哪条推文的信息。我该如何指定?这就是我需要知道的?@appa_lover你需要告诉我们你想删除哪条推文。我们可以告诉你怎么做。是否要删除(例如,最近的推文)?我有一个页面上所有用户推文的列表,我希望能够单击该推文旁边的,它会删除该特定推文,这有帮助吗?或者你需要一个特定的对象id吗?将tweet id添加到tweet remove URL中,并根据该id查询用户tweet。那么你是说将tweet\u id添加到我的URL中,然后从那里查询每个id,这样就可以单独删除它们了?我该如何指定呢?这就是我需要知道的?@appa_lover你需要告诉我们你想删除哪条推文。我们可以告诉你怎么做。是否要删除(例如,最近的推文)?我有一个页面上所有用户推文的列表,我希望能够单击该推文旁边的,它会删除该特定推文,这有帮助吗?或者你需要一个特定的对象id吗?将tweet id添加到tweet remove URL中,并根据该id查询用户tweet。那么你是说将tweet\u id添加到我的URL中,然后从那里查询每个id,这样就可以单独删除它们了?我该如何指定呢?这就是我需要知道的?@appa_lover你需要告诉我们你想删除哪条推文。我们可以告诉你怎么做。是否要删除(例如,最近的推文)?我有一个页面上所有用户推文的列表,我希望能够单击该推文旁边的,它会删除该特定推文,这有帮助吗?或者你需要一个特定的对象id吗?将tweet id添加到tweet remove URL中,并根据该id查询用户tweet。那么你是说将tweet\u id添加到我的URL中,然后从那里查询每个id,这样就可以单独删除它们了?我该如何指定呢?这就是我需要知道的?@appa_lover你需要告诉我们你想删除哪条推文。我们可以告诉你怎么做。是否要删除(例如,最近的推文)?我有一个页面上所有用户推文的列表,我希望能够单击该推文旁边的,它会删除该特定推文,这有帮助吗?或者你需要一个特定的对象id吗?将tweet id添加到tweet remove URL中,并根据该id查询用户tweet。你是说将tweet_id添加到我的URL中,然后从那里查询每个id,这样就可以单独删除它们了?