小编Iai*_*ton的帖子

Django admin - instance需要具有主键值才能使用多对多关系

编辑:我以前不清楚,我在django管理面板中保存我的对象,而不是在视图中.即使我保存没有多对多关系的对象,我仍然会收到错误.

我有一个名为模型TogglDetails具有ForeignKey与标准的Django关系User模型和MayToManyField一个叫模型关系Tag.我已经用django admin注册了我的模型,但是当我尝试保存TogglDetails实例时,我在标题中得到了错误.

这是我的模特:

class Tag(models.Model):
    name = models.CharField(max_length=30)

    def __unicode__(self):
        return self.name


class TogglDetails(models.Model):
    token = models.CharField(max_length=100)
    user = models.ForeignKey(User)
    tags = models.ManyToManyField(Tag, blank=True, null=True)

    def __unicode__(self):
        return self.user.username

    class Meta:
        verbose_name_plural = "toggl details"
Run Code Online (Sandbox Code Playgroud)

据我所知,我的模型应该没有问题,而django管理员应该只保存实例而不会出现任何问题.我错过了一些明显的东西吗?

我正在使用Django 1.3

django django-admin

8
推荐指数
1
解决办法
2141
查看次数

没有'拥有'属性的Postgres序列不会在Django 1.3中返回id

在最近从Oracle迁移到Postgres并从Django 1.2升级到1.3之后,我们在将对象保存到数据库时遇到了问题.当调用save()时,不返回id,即使通过标准django管理面板保存标准django auth模型,也会发生这种情况(即使用户已添加到db,也会返回'/ admin/auth/user/None /')并有一个id).

我们运行相同数据库的所有其他站点都没有这个问题,但是它们运行的​​是Django 1.1或1.2.

我们发现,对于迁移后创建的新表,它们的序列具有"拥有"属性,该属性由序列所在的列(通常是id列)拥有.改变'拥有'属性修复了我们在1.3中遇到的问题.

有人知道这个问题的根源是什么吗?我们已经找到了解决方案,如果其他人有这个问题,但我们很想知道是什么导致了这个问题.

django postgresql

7
推荐指数
1
解决办法
1221
查看次数

Django 注释意外限制 21

我想使用 django ORM 来完成计数分组,但limit 21每次都选择 sql 意外。不想要限制,为什么limit 21会出现,如何获取所有数据?

模型:

class Company(models.Model):
    company_no = models.CharField(primary_key=True, max_length=128)
    name = models.CharField(max_length=128)
    is_test = models.BooleanField(default=False)
    class Meta:
        db_table = 'company'

class User(models.Model):
    symbol = models.BigIntegerField(primary_key=True)
    is_test = models.BooleanField(default=False)

    class Meta:
        db_table = 'user'

class UserEmploy(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, db_column='symbol', to_field='symbol', related_name='employ')
    company = models.ForeignKey(Company, on_delete=models.CASCADE, to_field='company_no', db_column='company_no', related_name='user_employ')
    class Meta:
        db_table = 'user_employ'
Run Code Online (Sandbox Code Playgroud)

我认为的 Django 代码:

   employ_qs_exclude_test = UserEmploy.objects\
        .exclude(user__is_test__in=utils.IS_TEST_MODE)\
        .values("company__name") \
        .annotate(employ_count=Count('user', distinct=True))\
        .order_by('company')
Run Code Online (Sandbox Code Playgroud)

sql日志:

SELECT `company`.`name`, COUNT(DISTINCT …
Run Code Online (Sandbox Code Playgroud)

django group-by annotate limit django-queryset

7
推荐指数
1
解决办法
1255
查看次数

导入错误:无法导入名称 '_ColumnEntity' Ubuntu20.10

pip install apache-superset
Run Code Online (Sandbox Code Playgroud)

然后我写了

superset db upgrade
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

Traceback (most recent call last):
  File "/home/cod7/superset-env/bin/superset", line 5, in <module>
    from superset.cli import superset
  File "/home/cod7/superset-env/lib/python3.8/site-packages/superset/__init__.py", line 21, in <module>
    from superset.app import create_app
  File "/home/cod7/superset-env/lib/python3.8/site-packages/superset/app.py", line 24, in <module>
    from flask_appbuilder import expose, IndexView
  File "/home/cod7/superset-env/lib/python3.8/site-packages/flask_appbuilder/__init__.py", line 5, in <module>
    from .api import ModelRestApi  # noqa: F401
  File "/home/cod7/superset-env/lib/python3.8/site-packages/flask_appbuilder/api/__init__.py", line 21, in <module>
    from .convert import Model2SchemaConverter
  File "/home/cod7/superset-env/lib/python3.8/site-packages/flask_appbuilder/api/convert.py", line 4, in <module>
    from flask_appbuilder.models.sqla.interface import SQLAInterface
  File "/home/cod7/superset-env/lib/python3.8/site-packages/flask_appbuilder/models/sqla/interface.py", line …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy python-3.x apache-superset ubuntu-20.10

5
推荐指数
1
解决办法
2369
查看次数