gpt4 book ai didi

python - GeoDjango 和混合器。 'PointField'没有属性 '_meta'

转载 作者:行者123 更新时间:2023-11-30 22:37:35 26 4
gpt4 key购买 nike

我有一个Location模型,其定义(大致)如下:

from django.contrib.gis.db import models


class Location(models.Model):
address = models.CharField(max_length=255)
gis = models.PointField(null=True)
name = models.CharField(max_length=255)

每当我尝试 mixer.blend('app.Location') 我得到:

AttributeError: Mixer (app.Location): type object 'PointField' has no attribute '_meta'

当我将它与设置为“None”或“Point”的字段混合时,它会起作用,但我想知道是否有一种方法可以对其进行设置,以便它可以自行完成,特别是因为 faker 可以生成此数据。

最佳答案

mixer.register允许您自定义数据的生成方式。在这种情况下

from django.contrib.gis.geos import Point


mixer.register(
'app.Location',
gis=lambda: Point(
float(mixer.faker.latitude()),
float(mixer.faker.longitude()),
),
)

完成工作。

关于python - GeoDjango 和混合器。 'PointField'没有属性 '_meta',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com