这是我的代码
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
所以我对models.DateTimeField(default=timezone.now)
做什么有点困惑,“默认”在这里是什么意思?
而且我也很困惑models.ForeignKey(User, on_delete=models.CASCADE)
做什么,“on_delete=models.CASCADE”是什么意思?
这段代码 ( from django.contrib.auth.models
) 是用户的数据库吗?
models.DateTimeField(default=timezone.now)
做,这里的“默认”是什么意思?
您可以将可调用对象传递给default=…
参数。当模型对象被创建,并且没有值时date_posted
,它将调用该timezone.now
函数并将结果用作 的值date_posted
。
我也很困惑
models.ForeignKey(User, on_delete=models.CASCADE)
做什么,on_delete=models.CASCADE
做什么和意味着什么?
AForeignKey
指代一个对象。问题是如果它所指的对象被删除了该怎么办。使用on_delete=…
[Django-doc],您可以指定策略。CASCADE
意味着它将Post
从 a 中删除(s) User
,如果它User
本身被删除。
这段代码(来自 django.contrib.auth.models )是用户数据库吗?
这些是auth
应用程序中定义的模型。Django 有这样的应用程序,可以很容易地从一个简单的用户模型开始,但你可以决定实现你自己的。通常使用settings.AUTH_USER_MODEL
[Django-doc]来引用用户模型比直接使用User
模型 [Django-doc]更好。有关更多信息,您可以查看文档的参考User
模型部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句