如何从具有相同型号名称的两个应用程序中删除对象?

sup*_*rio 2 python django django-models

我有两个应用程序news,article它们都具有完全相同的型号名称Comment:

class Comment(models.Model):
    author = models.ForeignKey(User)
    created = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=100, default='', blank=True)
    body = models.TextField()
    post = models.ForeignKey(Photo)
    published = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)

现在,在一个视图中我想删除两个应用程序中的某些注释:

Comment.objects.filter(author=someauthor).delete()
Run Code Online (Sandbox Code Playgroud)

如何在不更改模型名称的情况下实现这一目标?

fal*_*tru 8

您可以使用import ... as ...这两个模型名称不冲突:

from news.models import Comment as NewsComment
from article.models import Comment as ArticleComment

...

NewsComment.objects.filter(author=someauthor).delete()
ArticleComment.objects.filter(author=someauthor).delete()
Run Code Online (Sandbox Code Playgroud)