Django / Model with ManytoManyField 默认给出 en entry
Django / Model with ManytoManyField gives en entry by default
Models.py
class Scenes(models.Model):
name = models.SlugField('Scene name', max_length=60,unique=True)
description = models.TextField(blank=True)
fileGltf = models.FileField(null=TRUE, blank=False, upload_to="3dfiles/")
record_date = models.DateTimeField('Scene date')
manager = models.ForeignKey(
settings.AUTH_USER_MODEL,
blank=True,
null=True,
on_delete=models.SET_NULL)
prev = models.ForeignKey(
'self',
related_name='previous',
blank=True,
null=True,
on_delete=models.SET_NULL)
next = models.ManyToManyField(
'self',
blank=True, )
Views.py(摘录)
if form.is_valid():
nextSceneSlug=form.cleaned_data.get('name')
scenes=form.save(commit=False)
scenes.manager = request.user
scenes.record_date = now
scenes.prev = ScenePrevious
form.save()
当我使用 models.py 记录新条目时,下一个字段有一个默认值/
(世界是场景起源)但是当我用管理面板添加它时,没有。
我怎样才能在我的 views.py 中做到这一点,让它留下一个空白字段?
如果A是[=26的prev
,那么指定prev
和next
是没有意义的=]B,则B是A的next
的成员。您可以定义一个简单的 ForeignKey
:
class Scene(models.Model):
name = models.SlugField('Scene name', max_length=60, unique=True)
description = models.TextField(blank=True)
file_gltf = models.FileField(null=TRUE, upload_to='3dfiles/')
record_date = models.DateTimeField('Scene date')
manager = models.ForeignKey(
settings.AUTH_USER_MODEL,
blank=True,
null=True,
on_delete=models.SET_NULL
)
previous = models.ForeignKey(
'self',
<strong>related_name='next'</strong>,
blank=True,
null=True,
on_delete=models.SET_NULL
)
如果你有例如场景 B 和 C 两者都有 A 作为previous
,然后A.next.all()
将return一个包含B和C的QuerySet
。
Note: normally a Django model is given a singular name, so Scene
instead of Scenes
.
Models.py
class Scenes(models.Model):
name = models.SlugField('Scene name', max_length=60,unique=True)
description = models.TextField(blank=True)
fileGltf = models.FileField(null=TRUE, blank=False, upload_to="3dfiles/")
record_date = models.DateTimeField('Scene date')
manager = models.ForeignKey(
settings.AUTH_USER_MODEL,
blank=True,
null=True,
on_delete=models.SET_NULL)
prev = models.ForeignKey(
'self',
related_name='previous',
blank=True,
null=True,
on_delete=models.SET_NULL)
next = models.ManyToManyField(
'self',
blank=True, )
Views.py(摘录)
if form.is_valid():
nextSceneSlug=form.cleaned_data.get('name')
scenes=form.save(commit=False)
scenes.manager = request.user
scenes.record_date = now
scenes.prev = ScenePrevious
form.save()
当我使用 models.py 记录新条目时,下一个字段有一个默认值/ (世界是场景起源)但是当我用管理面板添加它时,没有。 我怎样才能在我的 views.py 中做到这一点,让它留下一个空白字段?
如果A是[=26的prev
,那么指定prev
和next
是没有意义的=]B,则B是A的next
的成员。您可以定义一个简单的 ForeignKey
:
class Scene(models.Model):
name = models.SlugField('Scene name', max_length=60, unique=True)
description = models.TextField(blank=True)
file_gltf = models.FileField(null=TRUE, upload_to='3dfiles/')
record_date = models.DateTimeField('Scene date')
manager = models.ForeignKey(
settings.AUTH_USER_MODEL,
blank=True,
null=True,
on_delete=models.SET_NULL
)
previous = models.ForeignKey(
'self',
<strong>related_name='next'</strong>,
blank=True,
null=True,
on_delete=models.SET_NULL
)
如果你有例如场景 B 和 C 两者都有 A 作为previous
,然后A.next.all()
将return一个包含B和C的QuerySet
。
Note: normally a Django model is given a singular name, so
Scene
instead of.Scenes