标签: django-models

从github部署更改的模型时,如何在heroku上运行makemigrations / migrate?

我已经将应用程序从github存储库部署到我的客户作为协作者的heroku帐户中,但这一次我不得不添加一些新模型。

但是我意识到,当我从github部署我的更改时,heroku不会运行makemigrations并进行迁移。

II阅读了关于stackoverflow的一些答案,并理解这是应该的。

但是我的问题是我该怎么办?将变更模型部署到heroku应用程序的最佳实践是什么。(由于客户那里已经有数据,因此我认为它不会再次删除并重新创建我的应用程序。)

(我能够运行makemigrations并从bash手动迁移,但是当我进行30多次部署时,这很痛苦)

django heroku django-models django-migrations

0
推荐指数
1
解决办法
821
查看次数

Django:icontains大小写对Unicode敏感

我正在对我的博客进行简单搜索。我使用亚美尼亚语,搜索时对这些字母总是很敏感。这是我的代码的一部分。先感谢您。

search_query = get.get('search')
query_list = search_query.split()
posts = post.objects.filter(
                reduce(operator.and_,
                       (Q(title__icontains=q) for q in query_list))|
                reduce(operator.and_,
                       (Q(content__icontains=q) for q in query_list)),
            )
Run Code Online (Sandbox Code Playgroud)

python django unicode search-engine django-models

0
推荐指数
1
解决办法
498
查看次数

Django对象在模板中查找

我正在浏览Django项目教程,在节中它说:

模板系统使用点查找语法来访问变量属性.在{{question.question_text}}的示例中,首先Django对对象问题进行字典查找.如果失败了,它会尝试进行属性查找 - 在这种情况下可以正常工作.如果属性查找失败,它将尝试列表索引查找.

这是否意味着Django question是一个字典对象,并且在第一个实例中,查找为question_text键,如果找到,则返回值?除此之外,我无法想象两个后备选项正在做什么.

python django django-templates django-models

0
推荐指数
1
解决办法
160
查看次数

Django--取消激活用户帐户而不是删除它

我想停用用户帐户而不是删除它.我想做像user.is_active = False这样的事情.我有一个视图删除用户配置文件,它的工作原理,但现在我需要将其更改为仅停用.这是我的观点:

def delete_profile(request):
    user = User.objects.filter(id = request.user.profile.user_id)
    try:
        user.delete()
    except:
        messages.error(request,'Please try again.')
        return redirect('profile')

    messages.success(request, 'Profile successfully deleted.')
    return redirect('index')
Run Code Online (Sandbox Code Playgroud)

我尝试了User.is_active = False,它显示成功消息但没有做任何事情.当我在管理面板中检查用户时,它仍然会将用户标记为活动状态.

任何想法我怎么能做到这一点?提前致谢

authentication django django-models

0
推荐指数
1
解决办法
4095
查看次数

Django Admin模型ArrayField更改分隔符

我的模型如下所示:

from django.contrib.postgres.fields import ArrayField
class Trigger(models.Model):
    solutions = ArrayField(models.TextField(blank=True, null=True), blank=True, null=True, help_text='some helpful text')
Run Code Online (Sandbox Code Playgroud)

这使我可以输入默认情况下用逗号分隔的解决方案列表。例如:我可以在该文本字段中输入:

1. watch out for dust.,
2. keep away from furry animals.,
Run Code Online (Sandbox Code Playgroud)

这确实创建了两个单独的字符串项目的列表。但是,如果解决方案文本本身包含逗号,例如:

1. cockroaches, polens and molds might be harmful. 
Run Code Online (Sandbox Code Playgroud)

由于该句子中存在逗号,因此这将创建两个单独的解决方案行。

我如何告诉Django使用与逗号不同的定界符,因为它几乎肯定是句子的一部分。如何使用“ |”之类的分隔符?我查看了arrayfield类的内部,但是它不允许任何分隔符。

python django django-models django-admin django-postgresql

0
推荐指数
1
解决办法
1759
查看次数

django.contrib.auth.models.DoesNotExist:用户匹配查询不存在

我试图使用以下命令在python shell中创建用户实例。

from django.contrib.auth.models import User
User.objects.all()
<QuerySet [<User: admin>]>
me = User.objects.get(username='rohan')
Run Code Online (Sandbox Code Playgroud)

之后,我得到以下错误。有人可以帮忙吗?

 Traceback (most recent call last):
      File "<console>", line 1, in <module>
      File "C:\Users\Rohan Jain\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "C:\Users\Rohan Jain\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\query.py", line 380, in get
        self.model._meta.object_name
    django.contrib.auth.models.DoesNotExist: User matching query does not exist.
Run Code Online (Sandbox Code Playgroud)

django django-models python-3.6

0
推荐指数
1
解决办法
4402
查看次数

django没有为.id或.pk返回任何值

我只是逐字地关注一个Django教程,并且遇到了查询x.id或者.pk根本没有返回任何值的问题.这是在该表中的所有行,尽管所有其他数据都在工作.下面的例子来自我的python shell.

>>> c = Album(artist="Stone Roses", album_title="The Stone Roses", genre="Indie", album_logo="http://www.classicrockreview.com/Images/1989/AlbumCovers/1989_StoneRos    es.jpg")

>>> c
<Album: Album object>
>>> c.id
>>> c.artist
'Stone Roses'
>>> c.pk
>>> 
Run Code Online (Sandbox Code Playgroud)

我被引导相信idDjango会自动处理?

django django-models

0
推荐指数
1
解决办法
466
查看次数

跨应用程序使用Django模型

下午好,

我见过类似的问题,但没有一个答案真的让我产生共鸣.我是django开发的新手,我正在尝试使用这些模型.我的问题是如何适当地利用另一个应用程序中的模型?

例如,我有一个项目,项目1由管理用户配置文件的Person应用程序组成.这个应用程序具有一个人的模型,但随后该人员在活动中用于他们已完成的活动,以及游戏中的另一个进展.所有这些应用都需要这个人成为关键.

我不明白如何使这些相关.

感谢你的帮助,因为我变成了django-ified.

django django-models

0
推荐指数
1
解决办法
268
查看次数

Django模型中的多对多关系

我目前正在尝试针对以下情况设计django模型:我有一个名为User的类,每个用户都有唯一的userid。现在,我想根据用户拥有的硬币进行排名。但是,当用户查看排名时,我只想让他们是朋友的用户可见。

因此,我要定义一个类Friends,其具有ManytoMany字段“ isfriend”,其中包含与User成为朋友的所有用户ID。但是,我觉得我尝试这样做的方法并不是最好的方法。有什么建议我应该如何实现呢?

class User(models.Model):
    userid = models.CharField(max_length=26,unique=True)
    coins = models.IntegerField()

def __str__(self):
    return self.userid

class Friends(models.Model):
    isfriend = models.ManytoManyField(User)

    def __str__(self):
        return self.isfriend
Run Code Online (Sandbox Code Playgroud)

python django django-models

0
推荐指数
1
解决办法
707
查看次数

Django模型:Meta:如何使默认排序不区分大小写

我有一个Django模型如下所示:我知道我们可以在Meta类中设置默认顺序.

class Ingredient(models.Model):
    name = models.CharField(max_length=200,unique=True,null=False)
    slug = models.SlugField(unique=True)

    class Meta:
        ordering = ["name"]
Run Code Online (Sandbox Code Playgroud)

由于订购设置在这里命名.我发现的是,它是通过区分大小写的.那么如何使它不区分大小写

django django-models

0
推荐指数
2
解决办法
1924
查看次数